add_action() WordPress Function

The add_action() function is one of the most powerful tools in the WordPress developer’s toolkit. It allows you to “hook” into the various events that occur during a WordPress request and take action based on those events. For example, you could use the add_action() function to execute a custom function when a post is published. Or, you could use it to display a custom message when a user logs in. The possibilities are endless, and the add_action() function is one of the main reasons why WordPress is so extensible.

add_action( string $hook_name, callable $callback, int $priority = 10, int $accepted_args = 1 ) #

Adds a callback function to an action hook.


Description

Actions are the hooks that the WordPress core launches at specific points during execution, or when specific events occur. Plugins can specify that one or more of its PHP functions are executed at these points, using the Action API.


Top ↑

Parameters

$hook_name

(string)(Required)The name of the action to add the callback to.

$callback

(callable)(Required)The callback to be run when the action is called.

$priority

(int)(Optional) Used to specify the order in which the functions associated with a particular action are executed. Lower numbers correspond with earlier execution, and functions with the same priority are executed in the order in which they were added to the action.

Default value: 10

$accepted_args

(int)(Optional) The number of arguments the function accepts.

Default value: 1


Top ↑

Return

(true) Always returns true.


Top ↑

More Information

Top ↑

Usage

add_action( $hook, $function_to_add, $priority, $accepted_args );

To find out the number and name of arguments for an action, simply search the code base for the matching do_action() call. For example, if you are hooking into ‘save_post’, you would find it in post.php:

do_action( 'save_post', $post_ID, $post, $update );

Your add_action call would look like:

add_action( 'save_post', 'wpdocs_my_save_post', 10, 3 );

And your function would be:

function wpdocs_my_save_post( $post_ID, $post, $update ) {
   // do stuff here
}

Top ↑

Source

File: wp-includes/plugin.php

function add_action( $hook_name, $callback, $priority = 10, $accepted_args = 1 ) {
	return add_filter( $hook_name, $callback, $priority, $accepted_args );
}


Top ↑

Changelog

Changelog
VersionDescription
1.2.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by the Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.