Title: wp_ability_invoked
Published: August 20, 2026

---

# do_action( ‘wp_ability_invoked’, string $ability_name, mixed $input, WP_Ability $ability )

## In this article

 * [Description](https://developer.wordpress.org/reference/hooks/wp_ability_invoked/?output_format=md#description)
 * [Parameters](https://developer.wordpress.org/reference/hooks/wp_ability_invoked/?output_format=md#parameters)
 * [Source](https://developer.wordpress.org/reference/hooks/wp_ability_invoked/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/hooks/wp_ability_invoked/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/hooks/wp_ability_invoked/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/hooks/wp_ability_invoked/?output_format=md#wp--skip-link--target)

Fires when an ability is invoked, before any processing takes place.

## 󠀁[Description](https://developer.wordpress.org/reference/hooks/wp_ability_invoked/?output_format=md#description)󠁿

This action fires for every call regardless of outcome (validation failure, permission
denial, short-circuit, or successful execution), and before input normalization 
so the raw input is captured as-is.

## 󠀁[Parameters](https://developer.wordpress.org/reference/hooks/wp_ability_invoked/?output_format=md#parameters)󠁿

 `$ability_name`string

The name of the ability.

`$input`mixed

The raw input data for the ability, before normalization.

`$ability`[WP_Ability](https://developer.wordpress.org/reference/classes/wp_ability/)

The ability instance.

## 󠀁[Source](https://developer.wordpress.org/reference/hooks/wp_ability_invoked/?output_format=md#source)󠁿

    ```php
    do_action( 'wp_ability_invoked', $this->name, $input, $this );
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/abilities-api/class-wp-ability.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.1/src/wp-includes/abilities-api/class-wp-ability.php#L783)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/abilities-api/class-wp-ability.php#L783-L783)

## 󠀁[Related](https://developer.wordpress.org/reference/hooks/wp_ability_invoked/?output_format=md#related)󠁿

| Used by | Description | 
| [WP_Ability::execute()](https://developer.wordpress.org/reference/classes/wp_ability/execute/)`wp-includes/abilities-api/class-wp-ability.php` |

Executes the ability after input validation and running a permission check.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/hooks/wp_ability_invoked/?output_format=md#changelog)󠁿

| Version | Description | 
| [7.1.0](https://developer.wordpress.org/reference/since/7.1.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Fwp_ability_invoked%2F)
before being able to contribute a note or feedback.