Как сделать remove_action, который добавлен в анонимном классе.

Проблема:

Есть необходимость удалить хук, который добавлен в анонимном классе в таком виде:

 

class SomeClass {
    public function __construct() {
        add_action('some_action', 'some_function', 10);
    }

    public function some_function() {
        // Your code
    }
}
new SomeClass;

Проблема заключается в том, что класс анонимный и вызвать его глобально в функции remove_action нельзя.

Решение:

Подключить небольшую библиотеку, которая поможет достичь поставленной цели.

 

require_once('path_to_lib/wp-filters-extras.php');

После этого пишем следующий код:

remove_filters_for_anonymous_class('some_action', 'SomeClass', some_function', 10);

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *