wp_ability_permission_result
Filters the result of an ability's permission check.
Fires after the registered permission_callback returns. Plugins can use this to layer additional authorization rules on top of the ability's own permission logic — for example, multi-factor authorization gates or temporary permission elevation for trusted contexts.
Filters can return true to grant, false to deny, or a WP_Error to deny with a specific error code and message. The filter receives whatever the permission_callback produced. Any other return value is coerced to false.
Usage
add_filter( 'wp_ability_permission_result', 'wp_kama_ability_permission_result_filter', 10, 4 );
/**
* Function for `wp_ability_permission_result` filter-hook.
*
* @param bool|WP_Error $permission The permission result returned by `permission_callback`.
* @param string $ability_name The name of the ability.
* @param mixed $input The input data for the permission check.
* @param WP_Ability $ability The ability instance.
*
* @return bool|WP_Error
*/
function wp_kama_ability_permission_result_filter( $permission, $ability_name, $input, $ability ){
// filter...
return $permission;
}
- $permission(true|false|WP_Error)
- The permission result returned by
permission_callback. - $ability_name(string)
- The name of the ability.
- $input(mixed)
- The input data for the permission check.
- $ability(WP_Ability)
- The ability instance.
Changelog
| Since 7.1.0 | Introduced. |
Where the hook is called
wp_ability_permission_result
wp-includes/abilities-api/class-wp-ability.php 652
$result = apply_filters( 'wp_ability_permission_result', $permission, $this->name, $input, $this );