Astra_Admin_Settings::required_plugin_activate()
Required Plugin Activate
Description
Source
File: inc/core/class-astra-admin-settings.php
public static function required_plugin_activate() {
$nonce = ( isset( $_POST['nonce'] ) ) ? sanitize_key( $_POST['nonce'] ) : '';
if ( false === wp_verify_nonce( $nonce, 'astra-recommended-plugin-nonce' ) ) {
wp_send_json_error( esc_html_e( 'WordPress Nonce not validated.', 'astra' ) );
}
if ( ! current_user_can( 'install_plugins' ) || ! isset( $_POST['init'] ) || ! sanitize_text_field( wp_unslash( $_POST['init'] ) ) ) {
wp_send_json_error(
array(
'success' => false,
'message' => __( 'No plugin specified', 'astra' ),
)
);
}
$plugin_init = ( isset( $_POST['init'] ) ) ? sanitize_text_field( wp_unslash( $_POST['init'] ) ) : '';
$activate = activate_plugin( $plugin_init, '', false, true );
if ( '/astra-pro-sites/astra-pro-sites.php' === $plugin_init || '/astra-sites/astra-sites.php' === $plugin_init ) {
self::get_starter_templates_slug();
}
if ( is_wp_error( $activate ) ) {
wp_send_json_error(
array(
'success' => false,
'message' => $activate->get_error_message(),
'starter_template_slug' => self::$starter_templates_slug,
)
);
}
wp_send_json_success(
array(
'success' => true,
'message' => __( 'Plugin Successfully Activated', 'astra' ),
'starter_template_slug' => self::$starter_templates_slug,
)
);
}
Expand full source code Collapse full source code View on Trac
Changelog
| Version | Description |
|---|---|
| 1.2.4 | Introduced. |