GC_Hook::add_filter()
最后更新于:2021-11-27 21:01:32
GC_Hook::add_filter( string$hook_name, callable$callback, int$priority, int$accepted_args)Adds a callback function to a filter hook.
参数
- $hook_name
-
(string) (Required) The name of the filter to add the callback to.
- $callback
-
(callable) (Required) The callback to be run when the filter is applied.
- $priority
-
(int) (Required) The order in which the functions associated with a particular filter 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 filter.
- $accepted_args
-
(int) (Required) The number of arguments the function accepts.
源文件
文件: gc-includes/class-gc-hook.php
public function add_filter( $hook_name, $callback, $priority, $accepted_args ) {
$idx = _gc_filter_build_unique_id( $hook_name, $callback, $priority );
$priority_existed = isset( $this->callbacks[ $priority ] );
$this->callbacks[ $priority ][ $idx ] = array(
'function' => $callback,
'accepted_args' => $accepted_args,
);
// If we're adding a new priority to the list, put them back in sorted order.
if ( ! $priority_existed && count( $this->callbacks ) > 1 ) {
ksort( $this->callbacks, SORT_NUMERIC );
}
if ( $this->nesting_level > 0 ) {
$this->resort_active_iterations( $priority, $priority_existed );
}
}