Comment obtenir l'ID de la page actuelle en dehors de la boucle?

36

Comment obtenir l'ID de la page actuelle en dehors de la boucle?

Muhammad Shoaib Murtaza
la source
3
Étrange, comment utilisez-vous le code, qu'avez-vous essayé? Quelles erreurs obtenez-vous. Dans l'état actuel des choses, il est difficile de vous aider et toutes les réponses sont un coup dans le noir. Veuillez déposer une modification
Pieter Goosen
<?php global $post; $thePostID=$post->ID;?> <?php elseif($thePostID==35) : ?>
Muhammad Shoaib Murtaza
3
S'il vous plaît déposer une édition avec tout le code supplémentaire / info. N'utilisez pas la section des commentaires pour les éléments qui devraient figurer dans votre question :-)
Pieter Goosen du
Votre publication a été automatiquement signalée comme étant de mauvaise qualité, veuillez vous conformer à mes demandes ci-dessus :-)
Pieter Goosen
1
Comme je l'ai dit, toutes ces informations devraient figurer dans votre question, pas dans la section des commentaires. S'il vous plaît modifier votre question
Pieter Goosen

Réponses:

56

Essayer

global $post;
echo $post->ID;

ou (je ne connais pas la différence)

global $wp_query;
echo $wp_query->post->ID;
Caramba
la source
J'ai essayé toutes les choses trouvées sur Google mais rien ne s'est passé
Muhammad Shoaib Murtaza
il est difficile de savoir ce que "tout ce que vous avez trouvé" est :) assurez-vous que le code est dans une fonction, que vous appelez cette fonction et démarrez le débogage en faisant écho à autre chose qui doit être visible auparavant ...
caramba
2
je n'ai pas eu id en utilisant la fonction, et le "truc" estglobal $wp_query; $thePostID = $wp_query->post->ID; global $post; $thePostID = $post->ID; global $wp_query; $page = $wp_query->get_queried_object(); $page_id = $page->ID; $page_id = get_queried_object_id();
Muhammad Shoaib Murtaza
Le premier était correct ...
Muhammad Shoaib Murtaza
1
Ces solutions ne vous donneront l'ID de page que si elles sont utilisées avant le début de la boucle. Une fois que la boucle commence, $postchaque poste de la boucle sera mis à tour de rôle.
s_ha_dum
18

Vous pouvez simplement faire,

$page_id = get_queried_object_id();
Bikash Waiba
la source
-7

vous pouvez le faire en ajoutant ci-dessous code.it vous donnera l'identifiant de la page actuelle.

 $postid = get_the_ID();
 echo $postid;
Bilal Ahmad
la source
9
get_the_ID()est une fonction de boucle, c'est-à-dire qu'elle doit être utilisée à l'intérieur de la boucle. Par conséquent, cela ne répond pas vraiment à la question "Comment obtenir l'id de la page en cours en dehors de la boucle?"
s_ha_dum