remove_action

Удаляет функцию прикрепленную к указанному хуку (событию).

Удалять хук нужно после того, как он был добавлен. А значит: если вы удаляете хук, а он не удаляется, то возможно вы удаляете его до того как он добавляется в коде.

remove_action( $tag, $function_to_remove, $priority, $accepted_args );
$tag(строка) (обязательный)
Название фильтра, функцию которого нужно будет удалить.
По умолчанию: нет
$function_to_remove(строка) (обязательный)
Название функции, которую нужно удалить.
По умолчанию: нет
$priority(число)
Приоритет хука (функции), который был установлен во время добавления.
По умолчанию: 10
$accepted_args(число)
Число аргументов хука.
По умолчанию: 1

Примеры

#1. Пример отключения хука-события:

Отключим действие wpautop у хука the_content:

remove_action( 'the_content', 'wpautop' );

точно также его можно отключить через remove_filter() – это идентичная функция:

remove_filter( 'the_content', 'wpautop' );

#2 Пример удаления хука-события для PHP класса

Если событие было добавлено из класса (например, плагин добавил какое-то событие), то чтобы его удалить вам нужно знать конкретный экземпляр класса, который добавил хук. Часто эти экземпляры классов хранятся в глобальных переменных.

Пример удаления хука вызванного из класса, который был записан в глобальную переменную $my_class:

<?php
function remove_action( $tag, $function_to_remove, $priority = 10 ) {
	return remove_filter( $tag, $function_to_remove, $priority );
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *