Afficher les données en dehors de la boucle

Type de snippet : SQL/Query WP

Utiliser la variable $post

Quand on affiche une page web, WP stocke toutes les informations liées à cette page précisément en cours d’affichage, dans une variable nommée $post. Cette variable est un objet PHP dont on va pouvoir extraire les infos dont on a besoin.

Pour voir ce qu’elle contient : https://codex.wordpress.org/Function_Reference/$post

Exemple d’utilisation : afficher des infos relatives au billet en cours de vue dans une sidebar

En l’état ce n’est pas très intéressant comme implémentation, mais c’est pour faire un exemple !

On a une boucle normale dans un fichier de template

<div id="primary" class="content-area">
	<?php
	// Dans un fichier de template une boucle simple
	if (have_posts()) :
		while (have_posts()) : the_post();
	?>
		<article>
			<header class="entry-header">
				<h1><?php the_title(); ?></h1>
			</header>
			<div class="entry-content">
				<?php the_content(); ?>
			</div>
			<footer class="entry-footer">
				<!-- ce que vous voulez ! -->
			</footer>
		</article>
	<?php
		endwhile;
	endif:
	?>
</div>

<?php get_sidebar(); // Ici on appelle sidebar.php ?>

<?php get_footer();

Ensuite notre sidebar pourrait contenir ceci

<?php
if ( ! is_active_sidebar( 'sidebar-principale' ) ) {
	return;
}
?>

<aside id="secondary" class="widget-area" role="complementary">
	<p>"<?php echo $post->post_title; ?>" a été rédigé le <?php echo $post->post_date; ?>.</p>
	<!-- d'autres infos insérées via des widgets... -->
	<?php dynamic_sidebar( 'sidebar-principale' ); ?>
</aside>

Ici nous pourrons récupérer des infos relatives au post en cours d’affichage :

  • Le titre du billet en cours de vue : $post->post_title;
  • Sa date de publication : $post->post_date; A noter qu’ici on récupère la date et l’heure de ce type 14-04-18 17:37:12