Ticket #19203: 19203.3.diff
| File 19203.3.diff, 5.5 KB (added by , 13 years ago) |
|---|
-
wp-includes/plugin.php
20 20 */ 21 21 22 22 /** 23 * Hooks a function or method to a specific filter action.23 * Hooks a callback onto a filter. 24 24 * 25 * Filters are the hooks that WordPress launches to modify text of various types 26 * before adding it to the database or sending it to the browser screen. Plugins 27 * can specify that one or more of its PHP functions is executed to 28 * modify specific types of text at these times, using the Filter API. 25 * WordPress offers filters to make it possible to modify various types of 26 * internal data at runtime. 29 27 * 30 * To use the API, the following code should be used to bind a callback to the 31 * filter. 28 * A plugin can modify data by adding callbacks to filters. When the filter 29 * is later applied, each callback is run in order of priority, and given 30 * the opportunity to modify a value by returning a new value. 32 31 * 32 * The following example shows how a callback function is bound to a filter hook. 33 * Note that $example is passed to the callback, (maybe) modified, then returned: 34 * 33 35 * <code> 34 * function example_hook($example) { echo $example; } 35 * add_filter('example_filter', 'example_hook'); 36 * function example_callback( $example ) { 37 * // Maybe modify $example in some way 38 * return $example; 39 * } 40 * add_filter( 'example_filter', 'example_callback' ); 36 41 * </code> 37 42 * 38 * In WordPress 1.5.1+, hooked functions can take extra arguments that are set 39 * when the matching do_action() or apply_filters() call is run. The 40 * $accepted_args allow for calling functions only when the number of args 41 * match. Hooked functions can take extra arguments that are set when the 42 * matching do_action() or apply_filters() call is run. For example, the action 43 * comment_id_not_found will pass any functions that hook onto it the ID of the 44 * requested comment. 43 * Since WordPress 1.5.1, hooked callbacks can take as many arguments as are given 44 * as parameters in the corresponding apply_filters() call. The $accepted_args 45 * parameter should be set to the number of arguments supplied to the 46 * apply_filters() call. 45 47 * 46 * <strong>Note:</strong> the function will return true no matter if the 47 * function was hooked fails or not. There are no checks for whether the 48 * function exists beforehand and no checks to whether the <tt>$function_to_add</tt> 49 * is even a string. It is up to you to take care and this is done for 50 * optimization purposes, so everything is as quick as possible. 48 * <strong>Note:</strong> the function will return true whether or not the callback 49 * is valid. It is up to you to take care. This is done for optimization purposes, 50 * so everything is as quick as possible. 51 51 * 52 52 * @package WordPress 53 53 * @subpackage Plugin 54 54 * @since 0.71 55 * @global array $wp_filter Stores all of the filters added in the form of 56 * wp_filter['tag']['array of priorities']['array of functions serialized']['array of ['array (functions, accepted_args)']'] 55 * @global array $wp_filter A multidimensional array of all hooks and the callbacks hooked to them. 57 56 * @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. 58 57 * 59 58 * @param string $tag The name of the filter to hook the $function_to_add to. 60 * @param callback $function_to_add The name of the function to be calledwhen the filter is applied.61 * @param int $priority 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.59 * @param callback $function_to_add The callback to be run when the filter is applied. 60 * @param int $priority optional. 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. 62 61 * @param int $accepted_args optional. The number of arguments the function accept (default 1). 63 62 * @return boolean true 64 63 */ … … 114 113 * 115 114 * The function allows for additional arguments to be added and passed to hooks. 116 115 * <code> 117 * function example_hook($string, $arg1, $arg2)118 * {119 * //Do stuff120 * return $string;116 * // Our filter callback function 117 * function example_callback( $string, $arg1, $arg2 ) { 118 * // Maybe modify $string 119 * return $string; 121 120 * } 122 * $value = apply_filters('example_filter', 'filter me', 'arg1', 'arg2'); 121 * add_filter( 'example_filter', 'example_callback', 10, 3 ); 122 * 123 * // Apply the filters by calling the 'example_callback' function we 124 * // "hooked" to 'example_filter' using the add_filter() function above. 125 * // - 'example_filter' is the filter hook $tag 126 * // - 'filter me' is the value being filtered 127 * // - $arg1 and $arg2 are the additional arguments passed to the callback. 128 * $value = apply_filters( 'example_filter', 'filter me', $arg1, $arg2 ); 123 129 * </code> 124 130 * 125 131 * @package WordPress … … 708 714 * @uses $wp_filter Used to process all of the functions in the 'all' hook 709 715 * 710 716 * @param array $args The collected parameters from the hook that was called. 711 * @param string $hook Optional. The hook name that was used to call the 'all' hook.712 717 */ 713 718 function _wp_call_all_hook($args) { 714 719 global $wp_filter;
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)