web-dev-qa-db-fra.com

Quand pouvez-vous obtenir l'ID de la page actuelle et initialiser les crochets juste après?

Je développe un plugin et j'ai besoin de savoir sur quelle page l'utilisateur est, puis d'ajouter des hameçons et des filtres spécifiques pour cette page.
Et mon problème est que is_page() et the_ID() ne fonctionne pas en dehors des actions wp, wp_loaded, init, mais si j'utilise ces actions, je ne peux pas les initialiser, car elles doivent être ajoutées avant de fonctionner ces actions.
Ma question est la suivante: y at-il un crochet de la part duquel je peux appeler the_ID(), obtenir un résultat correct et ensuite ajouter un autre crochet pour cette page? Ou est-ce possible seulement en utilisant le $_SERVER['REQUEST_URI'] de PHP?

5
Danil Solodunov

Le premier crochet sûr permettant d'obtenir des informations sur les messages est le crochet template_redirect. Tous les crochets en question s'exécutent avant que Wordpress ait configuré les données postérieures, de sorte que les informations sur les publications ne sont toujours pas disponibles à ce stade.

Les globales comme $wp_query et $post ne contiendront toujours aucune donnée, c’est pourquoi vos efforts ne renvoient rien.

MODIFIER

Informations supplémentaires selon les commentaires de @TheDeadMedic

En fait, wp est un point d'ancrage toujours plus sûr - assurez-vous simplement d'utiliser get_queried_object() au lieu de s'appuyer sur $post global

5
Pieter Goosen