WP_CLI::add_hook() Edit

Schedule a callback to be executed at a certain point.

Usage Usage

WP_CLI::add_hook( $when, $callback )
$when (string) Identifier for the hook.
$callback (mixed) Callback to execute when hook is called.
@return (null)

Top ↑

Notes Notes

Hooks conceptually are very similar to WordPress actions. WP-CLI hooks
are typically called before WordPress is loaded.

WP-CLI hooks include:

  • before_add_command:<command> – Before the command is added.
  • after_add_command:<command> – After the command was added.
  • before_invoke:<command> – Just before a command is invoked.
  • after_invoke:<command> – Just after a command is involved.
  • before_wp_load – Just before the WP load process begins.
  • before_wp_config_load – After wp-config.php has been located.
  • after_wp_config_load – After wp-config.php has been loaded into scope.
  • after_wp_load – Just after the WP load process has completed.

WP-CLI commands can create their own hooks with WP_CLI::do_hook().

If additional arguments are passed through the WP_CLI::do_hook() call,
these will be passed on to the callback provided by WP_CLI::add_hook().

# `wp network meta` confirms command is executing in multisite context.
WP_CLI::add_command( 'network meta', 'Network_Meta_Command', array(
   'before_invoke' => function () {
       if ( !is_multisite() ) {
           WP_CLI::error( 'This is not a multisite install.' );
) );

Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.

Top ↑