web-dev-qa-db-fra.com

Lors de l’utilisation de $ post global dans le fichier d’index du blog (home.php), le dernier post du blog est renvoyé à la place de la page actuelle.

Dans mon fichier home.php je n'ai que ce code:

<?php
    global $post;
    print_r($post->ID);
    die();
?>

Il s’agit d’imprimer l’ID du dernier article de blog, mais ce que je veux, c’est d’obtenir l’ID de la page en cours (la page que j’ai définie comme Page des articles dans Paramètres). Il semble que je suis déjà dans "The Loop". Comment obtenir l'objet global $post de la page en cours plutôt que le premier message de la boucle?

2
Gavin

¿Que diriez-vous d'obtenir l'ID de configuration?

<?php $page_for_posts = get_option( 'page_for_posts' ); ?>

Comme la page que vous recherchez affiche maintenant les publications, vous êtes dans la boucle pour les publications, pas dans la boucle pour la page.

1
Carlos Faria

La réponse que j’ai acceptée est techniquement correcte, mais j’aimerais revenir sur une autre réponse qui correspond à ce que je recherchais à l’origine. La fonction get_queried_object_id() obtiendra l'identifiant de la page même lorsque vous êtes dans la boucle.

1
Gavin