Когда вы сможете получить текущий идентификатор страницы и сразу после этого инициализировать крючки?


Я разрабатываю плагин, и мне нужно знать, на какой странице находится пользователь, а затем добавить определенные крючки и фильтры для этой страницы.
И моя проблема в том, что is_page() и the_ID() не работают вне wp, wp_loaded, init действия, но если я использую эти действия, то я не могу инициализировать крючки, потому что для их правильной работы они должны быть добавлены перед этими действиями.
Итак, мой вопрос в том, есть ли какой-нибудь крючок от ведьмы, который я могу вызвать the_ID(), получить правильный результат , а затем добавить еще один крючок для этой страницы? Или это возможно только с использованием PHP $_SERVER['REQUEST_URI']?

Author: Danil Solodunov, 2015-08-28

1 answers

Самым ранним безопасным крючком для получения информации о публикации является крючок template_redirect. Все крючки, о которых идет речь, запускаются до того, как Wordpress настроит postdata, поэтому любая информация о публикации на этом этапе все еще недоступна.

Глобальные значения, такие как $wp_query и $post, по-прежнему не будут содержать данных, поэтому ваши усилия ничего не дадут.

РЕДАКТИРОВАТЬ

Дополнительная информация в соответствии с комментарием @TheDeadMedic

На самом деле wp является более ранним, все еще безопасным крючком - просто убедитесь, что используете get_queried_object() вместо полагаясь на $post глобальный

 5
Author: Pieter Goosen, 2015-08-28 09:23:40