Я использую плагин с этой строкой кода, чтобы добавить действие из класса Eazyest_Frontend
:
add_action( 'eazyest_gallery_thumbnails', 'ezg_thumbnails',5);
Я хочу удалить это и сделать что-то немного другое, не редактируя плагин. Я думал, что это добавлено в мой файл functions.php, может работать:
global $eazyest_frontend; remove_action( 'eazyest_gallery_thumbnails', array($eazyest_frontend,'ezg_thumbnails'), 1, 1 );
Я, возможно, попробовал сотню вариаций, где я изменил приоритет и т. Д., Но пока ничего не работает.
Если я прокомментирую исходную строку добавления действия в плагине, у нее есть эффект, который я ищу, поэтому, похоже, я определил правильное действие.
Я новичок в устранении действий, как это делается?
Возможно, я ошибался, но почему бы вам просто не поместить следующую строку в ваши functions.php
:
remove_action('eazyest_gallery_thumbnails', 'ezg_thumbnails');
Если у вас есть функция класса, подключенная к действию, вы можете использовать имя класса вместо объекта класса:
remove_action( 'eazyest_gallery_thumbnails', array('EazyestFrontendClassName', 'ezg_thumbnails') );
Прямо сейчас, я не понимаю, почему это не сработает. Просто попробовал действие из одного из моих плагинов.
Спасибо за все комментарии и ответы – я просто решил:
function remove_eazyest_gallery() { remove_action('eazyest_gallery_thumbnails', 'ezg_thumbnails', 5); } add_action( 'eazyest_gallery_ready', 'remove_eazyest_gallery', 1 );
Аналогичный метод можно использовать для скрытия нежелательных уведомлений администратора.
Найдите имя функции, создающей уведомление, которое вы хотите удалить, затем добавьте следующую строку в файл functions.php вашей дочерней темы:
remove_action( 'admin_notices', 'offending_function_that_is_creating_the_notice' );
Теперь только тот специфический nag будет скрыт, а другие (потенциально важные) уведомления из этого плагина все равно пройдут. Это останется эффективным благодаря будущим обновлениям, если разработчик плагина не изменит имя функции, создающей наг (маловероятно).