Un premier Shortcode qui affiche les titres des 5 derniers articles
A copier dans votre fichier functions.php
add_shortcode( 'query_shortcode', 'query_shortcode_function' );
function query_shortcode_function() {
ob_start();
get_template_part('template-parts/query_shortcode');
return ob_get_clean();
}
Créer le fichier dans query_shortcode.php dans le dossier « template-parts » de votre thème
<?php
echo 'Mon shortcode';
?>
A insérer là où vous souhaiter le faire apparaître
[query_shortcode]
Avec une requête personnalisée
<?php
// 1. On définit les arguments pour définir ce que l'on souhaite récupérer
$args = array(
'post_type' => 'post',
'category_name' => 'films',
'posts_per_page' => 3,
);
// 2. On exécute la WP Query
$my_query = new WP_Query( $args );
// 3. On lance la boucle !
if( $my_query->have_posts() ) : while( $my_query->have_posts() ) : $my_query->the_post();
the_title();
the_post_thumbnail();
endwhile;
endif;
// 4. On réinitialise à la requête principale (important)
wp_reset_postdata();
?>
Références: