WP_REST_Plugins_Controller::plugin_status_permission_check() WordPress Method
The WP_REST_Plugins_Controller::plugin_status_permission_check() method is used to check if the current user has permission to view the plugin status. If the user does not have the required capability, this method will return false.
WP_REST_Plugins_Controller::plugin_status_permission_check( string $plugin, string $new_status, string $current_status ) #
Handle updating a plugin’s status.
Parameters
- $plugin
(string)(Required)The plugin file to update.
- $new_status
(string)(Required)The plugin's new status.
- $current_status
(string)(Required)The plugin's current status.
Return
(true|WP_Error)
Source
File: wp-includes/rest-api/endpoints/class-wp-rest-plugins-controller.php
protected function plugin_status_permission_check( $plugin, $new_status, $current_status ) { if ( is_multisite() && ( 'network-active' === $current_status || 'network-active' === $new_status ) && ! current_user_can( 'manage_network_plugins' ) ) { return new WP_Error( 'rest_cannot_manage_network_plugins', __( 'Sorry, you are not allowed to manage network plugins.' ), array( 'status' => rest_authorization_required_code() ) ); } if ( ( 'active' === $new_status || 'network-active' === $new_status ) && ! current_user_can( 'activate_plugin', $plugin ) ) { return new WP_Error( 'rest_cannot_activate_plugin', __( 'Sorry, you are not allowed to activate this plugin.' ), array( 'status' => rest_authorization_required_code() ) ); } if ( 'inactive' === $new_status && ! current_user_can( 'deactivate_plugin', $plugin ) ) { return new WP_Error( 'rest_cannot_deactivate_plugin', __( 'Sorry, you are not allowed to deactivate this plugin.' ), array( 'status' => rest_authorization_required_code() ) ); } return true; }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
5.5.0 | Introduced. |