Astra_Admin_Settings::required_plugin_deactivate()
Required Plugin Activate
Description
Source
File: inc/core/class-astra-admin-settings.php
public static function required_plugin_deactivate() {
$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'] ) ) : '';
$deactivate = deactivate_plugins( $plugin_init, '', false );
if ( is_wp_error( $deactivate ) ) {
wp_send_json_error(
array(
'success' => false,
'message' => $deactivate->get_error_message(),
)
);
}
wp_send_json_success(
array(
'success' => true,
'message' => __( 'Plugin Successfully Deactivated', 'astra' ),
)
);
}
Expand full source code Collapse full source code View on Trac
Changelog
| Version | Description |
|---|---|
| 1.2.4 | Introduced. |