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 );