Хук WordPress сразу после тега body

У меня проблемы с поиском подходящего крючка для моего плагина. Я пытаюсь добавить сообщение в начало каждой страницы, добавив в свой плагин функцию. Какой лучший крючок для использования? Я хочу вставить контент сразу после .


РЕДАКТИРОВАТЬ: Я знаю, что сейчас три года спустя, но вот билет Trac для всех, кто заинтересован: http: //core.trac.wordpress .org / ticket / 12563


РЕДАКТИРОВАТЬ: 31 июля 2019 г.

Связанный Trac Ticket был закрыт, так как эта функция была добавлена ​​в WordPress 5.2. Вы найдете заметки разработчика для этой функции здесь (для отображения требуется JavaScript):

Разные обновления разработчика в 5.2

Я не буду обновлять «правильный ответ» до того, который упоминает 5.2 по историческим причинам, но будьте уверены что я знаю, и что встроенный хук - это то, что нужно использовать.

26
задан Peter Mortensen 23 November 2019 в 22:04
поделиться

3 ответа

Это довольно сложно... В большинстве тем нет крючков в этой области. Вы можете подключить решение javascript/html к wp_footer и отобразить его в верхней части страницы... вроде того, как это делает Stack Overflow или как Twitter делает свои уведомления.

Это лучший справочник по всем хукам, включенным в WordPress: http://adambrown.info/p/wp_hooks/

12
ответ дан 28 November 2019 в 06:28
поделиться

В качестве альтернативы, если вы создаете тему самостоятельно и/или можете изменить ее, вы можете создать действие самостоятельно, используя функцию WordPress do_action . Таким же образом они создают и другие крючки. Таким образом, в основном в вашей теме вы должны идти туда, куда хотите, сразу после тега и делать что-то вроде:

do_action('after_body');

Вы также можете передавать аргументы обратному вызову действия, см. связанную документацию. для информации.

Затем вы просто использовали бы функцию add_action , чтобы подключиться к нему.

add_action('after_body', 'my_callback');

Надеюсь, это поможет. Извините, если я неправильно понял.

37
ответ дан 28 November 2019 в 06:28
поделиться

В этом сценарии я делаю следующее: использую Jquery для добавления или добавления элементов:

http://api.jquery.com/prepend/

1
ответ дан 28 November 2019 в 06:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: