Когда вы сможете получить текущий идентификатор страницы и сразу после этого инициализировать крючки?
Я разрабатываю плагин, и мне нужно знать, на какой странице находится пользователь, а затем добавить определенные крючки и фильтры для этой страницы.
И моя проблема в том, что is_page()
и the_ID()
не работают вне wp
, wp_loaded
, init
действия, но если я использую эти действия, то я не могу инициализировать крючки, потому что для их правильной работы они должны быть добавлены перед этими действиями.
Итак, мой вопрос в том, есть ли какой-нибудь крючок от ведьмы, который я могу вызвать the_ID()
, получить правильный результат , а затем добавить еще один крючок для этой страницы? Или это возможно только с использованием PHP $_SERVER['REQUEST_URI']
?
1 answers
Самым ранним безопасным крючком для получения информации о публикации является крючок template_redirect
. Все крючки, о которых идет речь, запускаются до того, как Wordpress настроит postdata, поэтому любая информация о публикации на этом этапе все еще недоступна.
Глобальные значения, такие как $wp_query
и $post
, по-прежнему не будут содержать данных, поэтому ваши усилия ничего не дадут.
РЕДАКТИРОВАТЬ
Дополнительная информация в соответствии с комментарием @TheDeadMedic
На самом деле
wp
является более ранним, все еще безопасным крючком - просто убедитесь, что используетеget_queried_object()
вместо полагаясь на$post
глобальный