web-dev-qa-db-fra.com

Obtenir l'ID de la page en cours à partir du modèle

J'essaie d'obtenir l'identifiant de page de mon template-contact.php comme ceci:

global $post;
echo $post->ID;

Cela montre 85, mais l'identifiant de page est 96, je veux le récupérer car je veux récupérer les méta de la page actuelle.

Voici mon code de modèle.

<?php /* Template Name: Contact Page */ ?>

<?php get_header() ?>
<?php 

global $post;
echo get_post_meta($post->ID, 'contact_page', true);


?>
<?php get_footer() ?>

S'il vous plaît aider

1
Anand Siddharth

Pour obtenir l'ID de la page interrogée de l'extérieur de la boucle ou avant la définition de l'objet publication global, utilisez get_queried_object_id().

<?php
/**
 * Template Name: Contact Page 
 */

get_header();
?>

<?php
$page_id = get_queried_object_id();
echo get_post_meta( $page_id, 'contact_page', true);
?>

<?php get_footer() ?>
2
Jacob Peattie