WP_Hook::add_filter
Adds a callback function to a filter hook.
Метод класса: WP_Hook{}
Хуков нет.
Возвращает
null. Ничего (null).
Использование
$WP_Hook = new WP_Hook(); $WP_Hook->add_filter( $hook_name, $callback, $priority, $accepted_args );
- $hook_name(строка) (обязательный)
- The name of the filter to add the callback to.
- $callback(callable) (обязательный)
- The callback to be run when the filter is applied.
- $priority(int) (обязательный)
- 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) (обязательный)
- The number of arguments the function accepts.
Список изменений
| С версии 4.7.0 | Введена. |
Код WP_Hook::add_filter() WP Hook::add filter WP 6.9.4
public function add_filter( $hook_name, $callback, $priority, $accepted_args ) {
if ( null === $priority ) {
$priority = 0;
}
$idx = _wp_filter_build_unique_id( $hook_name, $callback, $priority );
$priority_existed = isset( $this->callbacks[ $priority ] );
$this->callbacks[ $priority ][ $idx ] = array(
'function' => $callback,
'accepted_args' => (int) $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 );
}
$this->priorities = array_keys( $this->callbacks );
if ( $this->nesting_level > 0 ) {
$this->resort_active_iterations( $priority, $priority_existed );
}
}