La vignette et le titre apparaissent comme il se doit, mais la méta de la publication apparaît en haut de la page. Quel est le code correct pour récupérer les métadonnées de la publication?
function evasmat_posts_shortcode(){
$q = new WP_Query(
array( 'orderby' => 'date', 'posts_per_page' => '4')
);
$list = '<div class="cards">';
while($q->have_posts()) : $q->the_post();
$list .= '<div class="card">' . get_the_post_thumbnail() . '<h2 class="entry-title-index"><a href="'.get_permalink().'">'.get_the_title() .'</a></h2>' .'<div class="entry-meta">' . get_post_meta (evasmat_posted_on() ) .'</div></div>';
endwhile;
wp_reset_query();
return $list . '</div>';
}
add_shortcode('recent-posts', 'evasmat_posts_shortcode');
evasmat_posted_on()
étant une fonction de votre thème, vous n'avez pas besoin d'utiliser get_post_meta
pour obtenir la date. Vous pouvez appeler la fonction directement pour:
function evasmat_posts_shortcode(){
$q = new WP_Query(
array( 'orderby' => 'date', 'posts_per_page' => '4')
);
$list = '<div class="cards">';
while($q->have_posts()) : $q->the_post();
$list .= '<div class="card">' . get_the_post_thumbnail() . '<h2 class="entry-title-index"><a href="'.get_permalink().'">'.get_the_title() .'</a></h2>' .'<div class="entry-meta">' . evasmat_posted_on() .'</div></div>';
endwhile;
wp_reset_query();
return $list . '</div>';
}
add_shortcode('recent-posts', 'evasmat_posts_shortcode');