Dans certains cas vous pouvez avoir besoin d‘afficher vos  dernier articles à l’intérieur d’une de vos pages WordPress. De nombreux plugins permettent cela, mais pourquoi encombrer votre site de plugin supplémentaire qui peuvent alourdir le système ou présenter des failles de sécurité, quand quelques lignes de code vous permettre de réaliser cela en toute simplicité.

L’avantage de la méthode

  • Vous conserver un système léger
  • Une solution native compatible avec tous les thèmes
  • La possibilité d’avoir  la main sur le design via la CSS
  • De pouvoir sélectionnez le nombre d’articles que vous désirez afficher

Comment procéder

Commencer par créer un un modèle de page ( voir mon article là-dessus)  ensuite à vous de décider si vous voulez afficher les articles avant ou après le contenu de votre page. Et fonction de l’option choisie vous allez coller le code que je vais vous donner avant ou après la balise “wp_content”.

Pour sélectionner le nombre d’articles que vous désirez afficher il vous faudra modifier la valeur de “showposts”.  Dans mon exemple vous allez afficher les 10 derniers articles. Pensez éventuellement à adapter les classes CSS à vos besoins.

Le code


<div class="news">
    <h3>Derniers articles</h3>
    <div class="last-article">
        <ul>
            <?php
                $recentPosts = new WP_Query();
                $recentPosts->query('showposts=10');//value to modify to choose the number of articles
            ?>
            <?php while ($recentPosts->have_posts()) : $recentPosts->the_post(); ?>
                <li class="item_list">
                    <h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
                        <?php if ( has_post_thumbnail() ) { ?><div class="img-article accueil"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'noviseofriendly' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"> <?php { // in the loop
                             the_post_thumbnail('thumbnail');
                             } ?></a><?php } ?>
                        <?php
                            global $more;    // Declare global $more (before the loop).
                            $more = 0;       // Set (inside the loop) to display content above the more tag.
                            the_content("Lire la suite...");
                        ?>
                </li>
            <?php endwhile; ?>
        </ul>
    </div>  <!-- end last-article -->
</div> <!-- end news -->