Intereting Posts
query_posts с сортировкой по пользовательской datestamp WP Query имеет липкие сообщения сперва, с разбивкой на страницы и с совместным сообщением на странице с основным контуром Ограничить количество неактивных виджетов Передать переменную на вложенный короткий код Удаление полей с страницы профиля темы My Login Plugin Вложения старого изображения сохраняются даже после обновления страницы Вторичная сортировка (возврат) для WP_Query Блог автоматически перенаправляется на страницу с ошибкой wp_insert_post не записывает мое post_name Групповые сообщения по первому письму категорий заголовков Как уменьшить размер изображений, которые присутствуют в папке uploads? Multisite на localhost с помощью xampp Удалите опцию «Custom ..» в образце цвета tinyMCE Firebug: проблема с jQuery в панели администратора WordPress текущий элемент меню, не работающий с пользовательским типом сообщения

remove_action не работает, даже после изменения приоритета

Поэтому одна из функций моей темы:

public function job_manager_job_filters_distance() { //Show some HTML } 

И где-то еще в документе лежит:

 add_action( 'job_manager_job_filters_search_jobs_end', array( $this, 'job_manager_job_filters_distance' ), 0 ); 

Я хочу отключить эту функцию.

Поэтому, естественно, я пошел на функции child.php моей дочерней темы и добавил remove_action :

 remove_action( 'job_manager_job_filters_search_jobs_end', 'job_manager_job_filters_distance' ); 

Это не сработало. Затем я попробовал разные приоритеты для удаления:

 remove_action( 'job_manager_job_filters_search_jobs_end', 'job_manager_job_filters_distance', 20 ); 

Все еще нет. Затем я попытался обернуть его в функцию, которая запускает после загрузки темы:

 function remove_listify_junk() { remove_action( 'job_manager_job_filters_search_jobs_end', 'job_manager_job_filters_distance' ); } add_action( 'after_setup_theme', 'remove_listify_junk', 999 ); 

И функция все еще делает это вещь = […

Что мне здесь не хватает?

Solutions Collecting From Web of "remove_action не работает, даже после изменения приоритета"

Вы пытаетесь отцепить функцию PHP в отличие от метода экземпляра (класса) – см. Здесь:

 array( $this, 'job_manager_job_filters_distance' ) 

… это фактический обратный вызов, зарегистрированный на крючке. Чтобы отцепить, вам нужно то же самое (ссылка на экземпляр).

Если вы пытаетесь отцепиться от класса, это так же просто, как использовать вышеизложенное. В противном случае вам нужна ссылка на экземпляр – найдите в коде что-то вроде следующего:

 $my_class = new Name_Of_Class; 

… тогда вы будете запускать:

 remove_action( 'job_manager_job_filters_search_jobs_end', array( $my_class, 'job_manager_job_filters_distance' ) , 0 );