/** * Removes a function from a specified filter hook. * * 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. * * @author WordPress * @global array $filters Stores all of the filters * * @param string $filter The filter hook to which the function to be removed is hooked. * @param callback $function_to_remove The name of the function which should be removed. * @param int $priority optional. The priority of the function (default: 10). * @return boolean Whether the function existed before it was removed. */ function remove_filter($filter, $function_to_remove, $priority = 10) { $function_to_remove = _build_callback_string($function_to_remove); $r = isset($GLOBALS['filters'][$filter][$priority][$function_to_remove]); if (true === $r) { unset($GLOBALS['filters'][$filter][$priority][$function_to_remove]); if (empty($GLOBALS['filters'][$filter][$priority])) { unset($GLOBALS['filters'][$filter][$priority]); } } return $r; }
/** * Hooks a function or method to a specific filter action. * * Filters are the hooks that Lilina 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. * * <code> * function example_hook($example) { echo $example; } * add_filter('example_filter', 'example_hook'); * </code> * * 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. * * <strong>Note:</strong> 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 <tt>$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. * * @author WordPress * @global array $filters Stores all of the filters added in the form of * filters['tag']['array of priorities']['array of functions serialized']['array of ['array (functions, accepted_args)']'] * * @param string $filter The name of the filter to hook the $function_to_add to. * @param callback $function The name of the function to be called when the filter is applied. * @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. * @param int $num_args optional. The number of arguments the function accept (default 1). * @return boolean true */ function add_filter($filter, $function, $priority = 10, $num_args = 1) { global $filters; $id = _build_callback_string($function); $filters[$filter][$priority][$id] = array('function' => $function, 'num_args' => $num_args); return true; }