Automattic\WooCommerce\Internal\MCP\Transport
WooCommerceRestTransport::check_ability_permission
Check REST ability permissions for HTTP method.
Method of the class: WooCommerceRestTransport{}
No Hooks.
Returns
true|false. Whether permission is granted.
Usage
$WooCommerceRestTransport = new WooCommerceRestTransport(); $WooCommerceRestTransport->check_ability_permission( $allowed, $method, $controller );
- $allowed(true|false) (required)
- Whether the operation is allowed.
Default: false - $method(string) (required)
- HTTP method (GET, POST, PUT, DELETE).
- $controller(object) (required)
- REST controller instance.
WooCommerceRestTransport::check_ability_permission() WooCommerceRestTransport::check ability permission code WC 10.3.3
public function check_ability_permission( $allowed, $method, $controller ) {
// Only check permissions if we have MCP context.
$permissions = self::get_current_user_permissions();
if ( null === $permissions ) {
return $allowed;
}
// Check permissions based on method.
switch ( $method ) {
case 'HEAD':
case 'GET':
return ( 'read' === $permissions || 'read_write' === $permissions );
case 'POST':
case 'PUT':
case 'PATCH':
case 'DELETE':
return ( 'write' === $permissions || 'read_write' === $permissions );
case 'OPTIONS':
return true;
default:
return false;
}
}