diff --git a/includes/rest-api/endpoints/class-wp-rest-abilities-run-controller.php b/includes/rest-api/endpoints/class-wp-rest-abilities-run-controller.php index a1c663a..c5e97cf 100644 --- a/includes/rest-api/endpoints/class-wp-rest-abilities-run-controller.php +++ b/includes/rest-api/endpoints/class-wp-rest-abilities-run-controller.php @@ -162,8 +162,13 @@ public function run_ability_permissions_check( $request ) { ); } - $input = $ability->normalize_input( $this->get_input_from_request( $request ) ); - if ( ! $ability->check_permissions( $input ) ) { + $input = $ability->normalize_input( $this->get_input_from_request( $request ) ); + $result = $ability->check_permissions( $input ); + if ( true !== $result ) { + if ( is_wp_error( $result ) ) { + return $result; + } + return new \WP_Error( 'rest_ability_cannot_execute', __( 'Sorry, you are not allowed to execute this ability.' ),