WP_Hook::add_filter()publicWP 4.7.0

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 6.5.2

public function add_filter( $hook_name, $callback, $priority, $accepted_args ) {
	$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 );
	}
}