WP_Ability::invoke_callback
Invokes a callable, ensuring the input is passed through only if the input schema is defined.
Method of the class: WP_Ability{}
No Hooks.
Returns
Mixed. The result of the callable execution, or a WP_Error if the callback threw.
Usage
// protected - for code of main (parent) or child class $result = $this->invoke_callback( $callback, $input );
- $callback(callable) (required)
- The callable to invoke.
- $input(mixed)
- The input data for the ability.
Default:null
Changelog
| Since 6.9.0 | Introduced. |
WP_Ability::invoke_callback() WP Ability::invoke callback code WP 7.0.2
protected function invoke_callback( callable $callback, $input = null ) {
$args = array();
if ( ! empty( $this->get_input_schema() ) ) {
$args[] = $input;
}
try {
return $callback( ...$args );
} catch ( Throwable $e ) {
return new WP_Error(
'ability_callback_exception',
sprintf(
/* translators: 1: Ability name, 2: Exception message. */
__( 'Ability "%1$s" callback threw an exception: %2$s' ),
esc_html( $this->name ),
esc_html( $e->getMessage() )
)
);
}
}