Intereting Posts
Программно изменяющийся шаблон страницы Получить наибольшее изображение на основе эскиза в URL-адресе Предотвращение переноса редактора My & nbsp; Использование Add_image_size при добавлении изображения в сообщении Подпишитесь на обновления продукта, пока изображение не будет обновлено. Как создать запрос, чтобы получить первые 3 липкие / последние сообщения Изменение закладки по умолчанию в медиа-библиотеке Попытка создания динамической области виджета с использованием идентификатора сообщения Создать страницу списка категорий Избегайте другого мета-поля в моем настраиваемом типе сообщений Пользовательский тип сообщения условно в цикле Повторяющиеся задания Cron Использование wp_next_scheduled / wp_schedule_event Использование do_shortcode с переменными? Добавить роль и предоставить права администратора Удаление размеров изображения из `the_content`

add_action в functions.php, do_action в плагине?

Я пытаюсь установить функцию add_action в моем текущем активном файле functions.php темы WordPress, для определенной функции do_action в активированном плагине WordPress.

Функция add_action в моем текущем активном файле functions.php темы WordPress не работает.

Тем не менее, он работает, если я add_action функцию add_action из моего текущего активного файла functions.php темы WordPress в активированный файл плагина WordPress непосредственно перед функцией do_action .

Есть ли способ сделать это?

Выстрел в темноте здесь, но …

Вполне возможно, что плагин с определением do_action подключен до обработки темы.

Узнайте, где определяется do_action , и узнайте, когда он подключен.

Вам может потребоваться подключиться к функции, которая также do_action определения do_action , а THEN – к определению этого действия.

Пример:

Откройте файл плагина, у которого есть определение do_action с do_action вы пытаетесь подключиться, с помощью своей настраиваемой функции.

Посмотрите, существует ли определение do_action внутри функции плагина.

Если да, просмотрите плагин, чтобы найти ссылку add_action() этого имени конкретной функции, содержащего определение do_action .

Запишите, что это за крючок.

Теперь вы знаете, когда WordPress вызывает эту функцию плагина, содержащую определение do_action .

Итак, теперь в вашем файле functions.php темы у вас может быть что-то похожее на следующий код:

 /** * This is the WordPress action the plugin's do_action function definition is * hooked to. * * Example: This hook could be anything. I'm not saying the hook will be: "plugins_loaded" * for sure, but if it was "plugins_loaded"... After WordPress loads and instantiates all * of it's activated plugins, WordPress will fire the plugin's function containing the * plugin's do_action definition (As long as the plugin you are trying to work with is * activated). So you're getting on the same level as the plugin when it needs WordPress to * execute this particular defined custom action and telling WordPress that your theme function * needs to be on that same level as well, before it can hook to your plugin's do_action reference. */ add_action('plugins_loaded', 'wpse_setup_theme'); function wpse_setup_theme(){ /** * This your function that you want fired then the do_action is executed. * * Example: If the plugin file has a function named osmosis_jones() and * inside osmosis_jones(), there is a do_action() reference. Note down * the do_action tag name inside the osmosis_jones() function. */ add_action('the_plugin_do_action_tag_name', 'wpse_display_theme_header'); } function wpse_display_theme_header(){ echo 'THEME HEADER HERE!'; }