2016-08-01 2 views
0

Я пытаюсь отцепить и изменить действие из моих дочерних тем functions.php.Как отменить захват приложения WordPress в файле плагина?

Плагин WordPress Sensei добавляет это действие в строку 86 этого документа.

https://github.com/Automattic/sensei/blob/master/includes/class-sensei-modules.php#L86

Действие ссылается на функции далее вниз страницы, которая отвечает за вывод динамического элемента заголовка.

/** 
* Show the title modules on the single course template. 
* 
* Function is hooked into sensei_single_course_modules_before. 
* 
* @since 1.8.0 
* @return void 
*/ 

public function course_modules_title() { 
    if(sensei_module_has_lessons()){ 
     echo '<header><h2>' . __('Modules', 'woothemes-sensei') . '</h2></header>'; 
    } 
} 

Моя цель состоит в том, чтобы изменить текущий html как «Модули» на что-то другое.

Я попытался выполнить следующие действия в моем детском файле functions.php темы, но ни один из них не работает.

remove_action('sensei_single_course_modules_before', array('Sensei_Core_Modules', 'course_modules_title'), 20); 

remove_action('sensei_single_course_modules_before', array('Sensei()->Sensei_Core_Modules', 'course_modules_title'), 20); 

вопрос, я не знаю, как определить, какой начальный параметр, чтобы добавить в массив, чтобы вызвать правильный класс. Поскольку я обращаюсь к нему извне, я не могу использовать $this, как он используется в основном файле.

ответ

0

Для того, чтобы удалить действие, вы должны найти экземпляр класса. Это предположение, так как у меня нет доступа к исходному коду Сэнсэя, но у него есть большой шанс, так как большинство плагинов WordPress используют этот метод.

Когда вы найдете имя экземпляра, вы можете загрузить его с помощью global $senseiInstance - замените это на фактическое имя переменной.

Затем вы можете удалить действие, используя, например, этот код:

remove_action('sensei_single_course_modules_before', array($senseiInstance, 'course_modules_title'), 20);

Более подробную информацию можно найти, например, в этой статье: https://www.sitepoint.com/digging-deeper-wordpress-hooks-filters.

Надеюсь, это поможет вам!

Смежные вопросы