Functions

Calls the 'all' hook, which will process the functions hooked into it.

_wp_call_all_hook(array $args) 

The 'all' hook passes all of the arguments or parameters that were used for the hook, which this function was called for.

This function is used internally for apply_filters(), do_action(), and do_action_ref_array() and is not meant to be used from outside those functions. This function does not check for the existence of the all hook, so it will fail unless the all hook exists prior to this function call.

package WordPress
package WordPress
subpackage Plugin
since 2.5
access private
uses Used to process all of the functions in the 'all' hook

Parameters

$args

array

The collected parameters from the hook that was called.

Build Unique ID for storage and retrieval.

_wp_filter_build_unique_id(string $tag, callback $function, integer|boolean $priority) : string | boolean

The old way to serialize the callback caused issues and this function is the solution. It works by checking for objects and creating an a new property in the class to keep track of the object and new objects of the same class that need to be added.

It also allows for the removal of actions and filters for objects after they change class properties. It is possible to include the property $wp_filter_id in your class and set it to "null" or a number to bypass the workaround. However this will prevent you from adding new classes and any new classes will overwrite the previous hook by the same class.

Functions and static method callbacks are just returned as strings and shouldn't have any speed penalty.

package WordPress
package WordPress
subpackage Plugin
access private
since 2.2.3
link http://trac.wordpress.org/ticket/3875
global array $wp_filter Storage for all of the filters and actions

Parameters

$tag

string

Used in counting how many hooks were applied

$function

callback

Used for creating unique id

$priority

integerboolean

Used in counting how many hooks were applied. If === false and $function is an object reference, we return the unique id only if it already has one, false otherwise.

Returns

stringbooleanUnique ID for usage as array key or false if $priority === false and $function is an object reference, and it does not already have a uniqe id.

Hooks a function on to a specific action.

add_action(string $tag, callback $function_to_add, integer $priority = 10, integer $accepted_args = 1

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.

package WordPress
package WordPress
uses Adds an action. Parameter list and functionality are the same.
subpackage Plugin
since 1.2

Parameters

$tag

string

The name of the action to which the $function_to_add is hooked.

$function_to_add

callback

The name of the function you wish to be called.

$priority

integer

optional. Used to specify the order in which the functions associated with a particular action are executed (default: 10). 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.

$accepted_args

integer

optional. The number of arguments the function accept (default 1).

Hooks a function or method to a specific filter action.

add_filter(string $tag, callback $function_to_add, integer $priority = 10, integer $accepted_args = 1) : boolean

Filters are the hooks that WordPress launches to modify text of various types before adding it to the database or sending it to the browser screen. Plugins can specify that one or more of its PHP functions is executed to modify specific types of text at these times, using the Filter API.

To use the API, the following code should be used to bind a callback to the filter.

function example_hook($example) { echo $example; } add_filter('example_filter', 'example_hook');

In WordPress 1.5.1+, hooked functions can take extra arguments that are set when the matching do_action() or apply_filters() call is run. The $accepted_args allow for calling functions only when the number of args match. Hooked functions can take extra arguments that are set when the matching do_action() or apply_filters() call is run. For example, the action comment_id_not_found will pass any functions that hook onto it the ID of the requested comment.

Note: the function will return true no matter if the function was hooked fails or not. There are no checks for whether the function exists beforehand and no checks to whether the $function_to_add is even a string. It is up to you to take care and this is done for optimization purposes, so everything is as quick as possible.

package WordPress
package WordPress
subpackage Plugin
since 0.71
global array $wp_filter Stores all of the filters added in the form of wp_filter['tag']['array of priorities']['array of functions serialized']['array of ['array (functions, accepted_args)']']
global array $merged_filters Tracks the tags that need to be merged for later. If the hook is added, it doesn't need to run through that process.

Parameters

$tag

string

The name of the filter to hook the $function_to_add to.

$function_to_add

callback

The name of the function to be called when the filter is applied.

$priority

integer

optional. Used to specify the order in which the functions associated with a particular action are executed (default: 10). 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.

$accepted_args

integer

optional. The number of arguments the function accept (default 1).

Returns

booleantrue

Call the functions added to a filter hook.

apply_filters(string $tag, mixed $value) : mixed

The callback functions attached to filter hook $tag are invoked by calling this function. This function can be used to create a new filter hook by simply calling this function with the name of the new hook specified using the $tag parameter.

The function allows for additional arguments to be added and passed to hooks. function example_hook($string, $arg1, $arg2) { //Do stuff return $string; } $value = apply_filters('example_filter', 'filter me', 'arg1', 'arg2');

package WordPress
package WordPress
subpackage Plugin
since 0.71
global array $wp_filter Stores all of the filters
global array $merged_filters Merges the filter hooks using this function.
global array $wp_current_filter stores the list of current filters with the current one last

Parameters

$tag

string

The name of the filter hook.

$value

mixed

The value on which the filters hooked to $tag are applied on.

Returns

mixedThe filtered value after all hooked functions are applied to it.

Execute functions hooked on a specific filter hook, specifying arguments in an array.

apply_filters_ref_array(string $tag, array $args) : mixed
package WordPress
package WordPress
see This function is identical, but the arguments passed to the functions hooked to $tag are supplied using an array.
subpackage Plugin
since 3.0.0
global array $wp_filter Stores all of the filters
global array $merged_filters Merges the filter hooks using this function.
global array $wp_current_filter stores the list of current filters with the current one last

Parameters

$tag

string

The name of the filter hook.

$args

array

The arguments supplied to the functions hooked to $tag

Returns

mixedThe filtered value after all hooked functions are applied to it.

Retrieve the name of the current filter or action.

current_filter() : string
package WordPress
package WordPress
subpackage Plugin
since 2.5

Returns

stringHook name of the current filter or action.

Retrieve the number times an action is fired.

did_action(string $tag) : integer
package WordPress
package WordPress
subpackage Plugin
since 2.1
global array $wp_actions Increments the amount of times action was triggered.

Parameters

$tag

string

The name of the action hook.

Returns

integerThe number of times action hook $tag is fired

Execute functions hooked on a specific action hook.

do_action(string $tag, $arg = '') : null

This function invokes all functions attached to action hook $tag. It is possible to create new action hooks by simply calling this function, specifying the name of the new hook using the $tag parameter.

You can pass extra arguments to the hooks, much like you can with apply_filters().

package WordPress
package WordPress
see This function works similar with the exception that nothing is returned and only the functions or methods are called.
subpackage Plugin
since 1.2
global array $wp_filter Stores all of the filters
global array $wp_actions Increments the amount of times action was triggered.

Parameters

$tag

string

The name of the action to be executed.

$arg

Returns

nullWill return null if $tag does not exist in $wp_filter array

Execute functions hooked on a specific action hook, specifying arguments in an array.

do_action_ref_array(string $tag, array $args) : null
package WordPress
package WordPress
see This function is identical, but the arguments passed to the functions hooked to $tag are supplied using an array.
subpackage Plugin
since 2.1
global array $wp_filter Stores all of the filters
global array $wp_actions Increments the amount of times action was triggered.

Parameters

$tag

string

The name of the action to be executed.

$args

array

The arguments supplied to the functions hooked to $tag

Returns

nullWill return null if $tag does not exist in $wp_filter array

Check if any action has been registered for a hook.

has_action(string $tag, callback $function_to_check = false) : integer | boolean
package WordPress
package WordPress
subpackage Plugin
since 2.5
see has_action() is an alias of has_filter().

Parameters

$tag

string

The name of the action hook.

$function_to_check

callback

optional. If specified, return the priority of that function on this hook or false if not attached.

Returns

integerbooleanOptionally returns the priority on that hook for the specified function.

Check if any filter has been registered for a hook.

has_filter(string $tag, callback $function_to_check = false) : integer | boolean
package WordPress
package WordPress
subpackage Plugin
since 2.5
global array $wp_filter Stores all of the filters

Parameters

$tag

string

The name of the filter hook.

$function_to_check

callback

optional. If specified, return the priority of that function on this hook or false if not attached.

Returns

integerbooleanOptionally returns the priority on that hook for the specified function.

Gets the basename of a plugin.

plugin_basename(string $file) : string

This method extracts the name of a plugin from its filename.

package WordPress
package WordPress
subpackage Plugin
since 1.5
access private
uses

Parameters

$file

string

The filename of plugin.

Returns

stringThe name of a plugin.

Gets the filesystem directory path (with trailing slash) for the plugin __FILE__ passed in

plugin_dir_path(string $file) : string
package WordPress
package WordPress
subpackage Plugin
since 2.8

Parameters

$file

string

The filename of the plugin (FILE)

Returns

stringthe filesystem path of the directory that contains the plugin

Gets the URL directory path (with trailing slash) for the plugin __FILE__ passed in

plugin_dir_url(string $file) : string
package WordPress
package WordPress
subpackage Plugin
since 2.8

Parameters

$file

string

The filename of the plugin (FILE)

Returns

stringthe URL path of the directory that contains the plugin

Set the activation hook for a plugin.

register_activation_hook(string $file, callback $function) 

When a plugin is activated, the action 'activate_PLUGINNAME' hook is activated. In the name of this hook, PLUGINNAME is replaced with the name of the plugin, including the optional subdirectory. For example, when the plugin is located in wp-content/plugin/sampleplugin/sample.php, then the name of this hook will become 'activate_sampleplugin/sample.php'. When the plugin consists of only one file and is (as by default) located at wp-content/plugin/sample.php the name of this hook will be 'activate_sample.php'.

package WordPress
package WordPress
subpackage Plugin
since 2.0

Parameters

$file

string

The filename of the plugin including the path.

$function

callback

the function hooked to the 'activate_PLUGIN' action.

Set the deactivation hook for a plugin.

register_deactivation_hook(string $file, callback $function) 

When a plugin is deactivated, the action 'deactivate_PLUGINNAME' hook is deactivated. In the name of this hook, PLUGINNAME is replaced with the name of the plugin, including the optional subdirectory. For example, when the plugin is located in wp-content/plugin/sampleplugin/sample.php, then the name of this hook will become 'activate_sampleplugin/sample.php'.

When the plugin consists of only one file and is (as by default) located at wp-content/plugin/sample.php the name of this hook will be 'activate_sample.php'.

package WordPress
package WordPress
subpackage Plugin
since 2.0

Parameters

$file

string

The filename of the plugin including the path.

$function

callback

the function hooked to the 'activate_PLUGIN' action.

Removes a function from a specified action hook.

remove_action(string $tag, callback $function_to_remove, integer $priority = 10, integer $accepted_args = 1) : boolean

This function removes a function attached to a specified action hook. This method can be used to remove default functions attached to a specific filter hook and possibly replace them with a substitute.

package WordPress
package WordPress
subpackage Plugin
since 1.2

Parameters

$tag

string

The action hook to which the function to be removed is hooked.

$function_to_remove

callback

The name of the function which should be removed.

$priority

integer

optional The priority of the function (default: 10).

$accepted_args

integer

optional. The number of arguments the function accpets (default: 1).

Returns

booleanWhether the function is removed.

Removes a function from a specified filter hook.

remove_filter(string $tag, callback $function_to_remove, integer $priority = 10, integer $accepted_args = 1) : boolean

This function removes a function attached to a specified filter hook. This method can be used to remove default functions attached to a specific filter hook and possibly replace them with a substitute.

To remove a hook, the $function_to_remove and $priority arguments must match when the hook was added. This goes for both filters and actions. No warning will be given on removal failure.

package WordPress
package WordPress
subpackage Plugin
since 1.2

Parameters

$tag

string

The filter hook to which the function to be removed is hooked.

$function_to_remove

callback

The name of the function which should be removed.

$priority

integer

optional. The priority of the function (default: 10).

$accepted_args

integer

optional. The number of arguments the function accpets (default: 1).

Returns

booleanWhether the function existed before it was removed.