Automattic\WooCommerce\Internal\MCP\Transport
WooCommerceRestTransport::check_ability_permission
Check REST ability permissions for HTTP method.
Метод класса: WooCommerceRestTransport{}
Хуков нет.
Возвращает
true|false. Whether permission is granted.
Использование
$WooCommerceRestTransport = new WooCommerceRestTransport(); $WooCommerceRestTransport->check_ability_permission( $allowed, $method, $controller );
- $allowed(true|false) (обязательный)
- Whether the operation is allowed.
По умолчанию: false - $method(строка) (обязательный)
- HTTP method (GET, POST, PUT, DELETE).
- $controller(объект) (обязательный)
- REST controller instance.
Код WooCommerceRestTransport::check_ability_permission() WooCommerceRestTransport::check ability permission WC 10.3.4
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;
}
}