_wp_call_all_hook
_wp_filter_build_unique_id
add_action
add_filter
apply_filters
apply_filters_ref_array
current_filter
did_action
do_action
do_action_ref_array
has_action
has_filter
plugin_basename
plugin_dir_path
plugin_dir_url
register_activation_hook
register_deactivation_hook
remove_action
remove_filter
_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 |
array
The collected parameters from the hook that was called.
_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 |
string
Used in counting how many hooks were applied
callback
Used for creating unique id
integer
boolean
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.
string
boolean
Unique 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.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 |
string
The name of the action to which the $function_to_add is hooked.
callback
The name of the function you wish to be called.
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.
integer
optional. The number of arguments the function accept (default 1).
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. |
string
The name of the filter to hook the $function_to_add to.
callback
The name of the function to be called when the filter is applied.
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.
integer
optional. The number of arguments the function accept (default 1).
boolean
trueapply_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 |
string
The name of the filter hook.
mixed
The value on which the filters hooked to $tag are applied on.
mixed
The filtered value after all hooked functions are applied to it.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 |
string
The name of the filter hook.
array
The arguments supplied to the functions hooked to $tag
mixed
The filtered value after all hooked functions are applied to it.current_filter() : string
did_action(string $tag) : integer
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. |
string
The name of the action to be executed.
null
Will return null if $tag does not exist in $wp_filter arraydo_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. |
string
The name of the action to be executed.
array
The arguments supplied to the functions hooked to $tag
null
Will return null if $tag does not exist in $wp_filter arrayhas_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(). |
string
The name of the action hook.
callback
optional. If specified, return the priority of that function on this hook or false if not attached.
integer
boolean
Optionally returns the priority on that hook for the specified function.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 |
string
The name of the filter hook.
callback
optional. If specified, return the priority of that function on this hook or false if not attached.
integer
boolean
Optionally returns the priority on that hook for the specified function.plugin_basename(string $file) : string
plugin_dir_path(string $file) : string
plugin_dir_url(string $file) : string
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 |
string
The filename of the plugin including the path.
callback
the function hooked to the 'activate_PLUGIN' action.
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 |
string
The filename of the plugin including the path.
callback
the function hooked to the 'activate_PLUGIN' action.
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 |
string
The action hook to which the function to be removed is hooked.
callback
The name of the function which should be removed.
integer
optional The priority of the function (default: 10).
integer
optional. The number of arguments the function accpets (default: 1).
boolean
Whether the function is removed.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 |
string
The filter hook to which the function to be removed is hooked.
callback
The name of the function which should be removed.
integer
optional. The priority of the function (default: 10).
integer
optional. The number of arguments the function accpets (default: 1).
boolean
Whether the function existed before it was removed.