mohummadabdullah
  • 0
Новичок

Вордпресс проверяет wp_head и wp_footer

  • 0

Я создаю плагин для добавления javascript в верхний и нижний колонтитул темы WordPress.

Я делаю это с помощью следующих крючков WordPress:

add action(wp_head,function_name)
add action(wp_footer,function_name)

Однако мой плагин не может добавить скрипт, если тема клиента не имеет wp_head() и не wp_footer() работает.

Есть ли какая-либо возможность, которую я могу использовать if-else в своем плагине, чтобы проверить, имеет ли клиентская тема wp_head() и wp_footer() функции.

Или есть ли возможность добавить мой javascript раньше </head> и </body> пометить без использования wp_head и wp_footer хуков.

Share
  1. Технически проверить, запускается ли тема wp_head и wp_footer цепляется ли она, вы можете:

    1. зацепиться заshutdown
    2. проверьте, что вы находитесь в передней части
    3. используйте did_action() , чтобы определить, сработали ли хуки
    4. сохранить результат (например, в опции) с именем темы для доступа и использования позже

    Однако на практике я согласен с Чипом Беннетом в том, что эти крючки необходимы. Попытка закодировать случай, когда их нет, просто непрактична (так же, как попытка закодировать древнюю версию WP и тому подобное).

    • 0
  2. Чтобы определить наличие этих вызовов тега шаблона, вам нужно будет прочитать содержимое текущей темы header.php и footer.php файлов шаблона (и, возможно index.php, также, просто для верности, чтобы охватить странные темы) и найти вызов тега шаблона. нить.

    Но на самом деле это никуда не приведет, потому что без существования этих тегов шаблона у вас нет возможности вставлять содержимое в верхний или нижний колонтитул документа.

    Тем не менее, любая тема, которая не звонит wp_head() и wp_footer() имеет гораздо большие проблемы; на данный момент они необходимы для основной функциональности.

    • 0
  3. Проверьте этот код: https://gist.github.com/378450.

    Является полным решением для проверки использования обеих этих функций. Код печатает строку, используя wp_head и wp_footer действия, затем делает запрос на получение кода и проверяет эти строки. Если не существует, добавьте страницу отчета.

    • 0
  4. Почему бы не попробовать использовать:

    if(function_exists(‘wp_head’)) { // делаем что-то }else{ // что-то еще }

    • 0

Оставить ответ

You must login to add an answer.