WordPress : Afficher les messages récents avec une vignette
J’ai le php suivant dans un modèle. Celui-ci répertorie les messages les plus récents.
<h2>Recent Posts</h2>
<ul>
<?php
$args = array( 'numberposts' => '5', 'tax_query' => array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => 'post-format-aside',
'operator' => 'NOT IN'
),
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => 'post-format-image',
'operator' => 'NOT IN'
)
) );
$recent_posts = wp_get_recent_posts( $args );
foreach( $recent_posts as $recent ){
echo '<li><a href="' . get_permalink($recent["ID"]) . '">' . ( __($recent["post_title"])).'</a> </li> ';
}
?>
</ul>
Comment puis-je faire en sorte que chaque titre affiche l’image vedette de l’article à gauche du texte ? Je sais que <?php the_post_thumbnail(); ?>
cela affichera l’image en vedette, mais je ne sais pas comment l’intégrer dans le code.
EDIT : Je voudrais également afficher la date de publication (dans un style humain/relatif, par exemple « publié il y a deux jours »). J’ai également besoin de styliser cela avec une classe CSS distincte.
Solution n°1 trouvée
the_post_thumbnail()
ne peut être utilisé que dans « la boucle ». Ce qu’il te faut c’est get_the_post_thumbnail()
. (Voir les détails et les exemples de code sur la page de référence du code).
Donc quelque chose comme :
foreach( $recent_posts as $recent ){
echo '<li>';
echo get_the_post_thumbnail( $recent['ID'], 'size', array( 'class' => 'alignleft' ) );
echo '<a href="' . get_permalink($recent["ID"]) . '">' . ( __($recent["post_title"])).'</a></li> ';
}
Où ‘taille’ correspond à la taille de vignette enregistrée que vous souhaitez pour l’image.
0 commentaire