Astra_Admin_Settings::astra_available_plugins()
Include Welcome page content
Description
Source
File: inc/core/class-astra-admin-settings.php
public static function astra_available_plugins() {
// Return if white labeled.
if ( astra_is_white_labelled() ) {
return;
}
$astra_addon_tagline = apply_filters(
'astra_available_plugins',
sprintf(
/* translators: %1s Astra Theme */
__( 'Extend %1s with free plugins!', 'astra' ),
astra_get_theme_name()
)
);
$recommended_plugins = apply_filters(
'astra_recommended_plugins',
array(
'astra-import-export' =>
array(
'plugin-name' => __( 'Import / Export Customizer Settings', 'astra' ),
'plugin-init' => 'astra-import-export/astra-import-export.php',
'settings-link' => '',
'settings-link-text' => 'Settings',
),
'reset-astra-customizer' =>
array(
'plugin-name' => __( 'Astra Customizer Reset', 'astra' ),
'plugin-init' => 'reset-astra-customizer/class-astra-theme-customizer-reset.php',
'settings-link' => admin_url( 'customize.php' ),
'settings-link-text' => 'Settings',
),
'customizer-search' =>
array(
'plugin-name' => __( 'Customizer Search', 'astra' ),
'plugin-init' => 'customizer-search/customizer-search.php',
'settings-link' => admin_url( 'customize.php' ),
'settings-link-text' => 'Settings',
),
'astra-bulk-edit' =>
array(
'plugin-name' => __( 'Astra Bulk Edit', 'astra' ),
'plugin-init' => 'astra-bulk-edit/astra-bulk-edit.php',
'settings-link' => '',
'settings-link-text' => 'Settings',
),
'astra-widgets' =>
array(
'plugin-name' => __( 'Astra Widgets', 'astra' ),
'plugin-init' => 'astra-widgets/astra-widgets.php',
'settings-link' => admin_url( 'widgets.php' ),
'settings-link-text' => 'Settings',
),
'custom-fonts' =>
array(
'plugin-name' => __( 'Custom Fonts', 'astra' ),
'plugin-init' => 'custom-fonts/custom-fonts.php',
'settings-link' => admin_url( 'edit-tags.php?taxonomy=bsf_custom_fonts' ),
'settings-link-text' => 'Settings',
),
'custom-typekit-fonts' =>
array(
'plugin-name' => __( 'Custom Typekit Fonts', 'astra' ),
'plugin-init' => 'custom-typekit-fonts/custom-typekit-fonts.php',
'settings-link' => admin_url( 'themes.php?page=custom-typekit-fonts' ),
'settings-link-text' => 'Settings',
),
'sidebar-manager' =>
array(
'plugin-name' => __( 'Sidebar Manager', 'astra' ),
'plugin-init' => 'sidebar-manager/sidebar-manager.php',
'settings-link' => admin_url( 'edit.php?post_type=bsf-sidebar' ),
'settings-link-text' => 'Settings',
),
'ultimate-addons-for-gutenberg' =>
array(
'plugin-name' => __( 'Ultimate Addons for Gutenberg', 'astra' ),
'plugin-init' => 'ultimate-addons-for-gutenberg/ultimate-addons-for-gutenberg.php',
'settings-link' => admin_url( 'options-general.php?page=uag' ),
'settings-link-text' => 'Settings',
'display' => function_exists( 'register_block_type' ),
),
)
);
if ( apply_filters( 'astra_show_free_extend_plugins', true ) ) {
?>
<div class="postbox">
<h2 class="hndle ast-normal-cursor ast-addon-heading ast-flex"><span><?php echo esc_html( $astra_addon_tagline ); ?></span>
</h2>
<div class="ast-addon-list-section">
<?php
if ( ! empty( $recommended_plugins ) ) :
?>
<div>
<ul class="ast-addon-list">
<?php
foreach ( $recommended_plugins as $slug => $plugin ) {
// If display condition for the plugin does not meet, skip the plugin from displaying.
if ( isset( $plugin['display'] ) && false === $plugin['display'] ) {
continue;
}
$plugin_active_status = '';
if ( is_plugin_active( $plugin['plugin-init'] ) ) {
$plugin_active_status = ' active';
}
echo '<li ' . astra_attr(
'astra-recommended-plugin-' . esc_attr( $slug ),
array(
'id' => esc_attr( $slug ),
'class' => 'astra-recommended-plugin' . $plugin_active_status,
'data-slug' => $slug,
)
) . '>';
echo '<a href="' . esc_url( self::build_worg_plugin_link( $slug ) ) . '" target="_blank">';
echo esc_html( $plugin['plugin-name'] );
echo '</a>';
echo '<div class="ast-addon-link-wrapper">';
if ( ! is_plugin_active( $plugin['plugin-init'] ) ) {
if ( file_exists( WP_CONTENT_DIR . '/plugins/' . $plugin['plugin-init'] ) ) {
echo '<a ' . astra_attr(
'astra-activate-recommended-plugin',
array(
'data-slug' => $slug,
'href' => '#',
'data-init' => $plugin['plugin-init'],
'data-settings-link' => esc_url( $plugin['settings-link'] ),
'data-settings-link-text' => $plugin['settings-link-text'],
)
) . '>';
esc_html_e( 'Activate', 'astra' );
echo '</a>';
} else {
echo '<a ' . astra_attr(
'astra-install-recommended-plugin',
array(
'data-slug' => $slug,
'href' => '#',
'data-init' => $plugin['plugin-init'],
'data-settings-link' => esc_url( $plugin['settings-link'] ),
'data-settings-link-text' => $plugin['settings-link-text'],
)
) . '>';
esc_html_e( 'Activate', 'astra' );
echo '</a>';
}
} else {
echo '<a ' . astra_attr(
'astra-deactivate-recommended-plugin',
array(
'data-slug' => $slug,
'href' => '#',
'data-init' => $plugin['plugin-init'],
'data-settings-link' => esc_url( $plugin['settings-link'] ),
'data-settings-link-text' => $plugin['settings-link-text'],
)
) . '>';
esc_html_e( 'Deactivate', 'astra' );
echo '</a>';
if ( '' !== $plugin['settings-link'] ) {
echo '<a ' . astra_attr(
'astra-recommended-plugin-links',
array(
'data-slug' => $slug,
'href' => $plugin['settings-link'],
)
) . '>';
echo esc_html( $plugin['settings-link-text'] );
echo '</a>';
}
}
echo '</div>';
echo '</li>';
}
?>
</ul>
</div>
<?php endif; ?>
</div>
</div>
<?php
}
}
Expand full source code Collapse full source code View on Trac
Changelog
| Version | Description |
|---|---|
| 1.2.4 | Introduced. |