Au lieu d’afficher les derniers articles, comment afficher le dernier article de chaque catégorie sur la page d’accueil de WordPress ?

Publié par Jean-Michel le

J’ai le code pour afficher les derniers messages sur mon site Web, mais je me demande s’il existe un moyen de faire une liste des derniers messages, en affichant un seul message par catégorie. Disons que j’ai 7 catégories, donc seulement 7 messages seront affichés sur la page. Que devrais-je faire?

<?php if ( ! is_single() ) { ?>
<div class="post-container">
<?php } ?>

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

    <?php
   //Post Title code

   //Post Thumbnail code

    //Post Content / Excerpt code

     //Post Meta code

</article> <!-- /post -->

<?php if ( ! is_single() ) { ?>
</div>
<?php

<?php } ?>

Solution n°1 trouvée

Il est très facile d’ajouter le dernier message de chaque catégorie.

Tout d’abord, obtenez toutes les catégories de blog en utilisant le code ci-dessous :

$categories = get_categories();

Ensuite, utilisez foreach ( $categories as $category ) {}pour indiquer à WordPress de parcourir chacune de ces catégories à tour de rôle et d’exécuter le code à l’intérieur des accolades.

Vous devez maintenant définir les arguments de votre requête. À l’intérieur des accolades, ajoutez ceci :

$args = array(
    'cat' => $category->term_id,
    'post_type' => 'post',
    'posts_per_page' => '1',
);

Ensuite, insérez votre requête, en utilisant la classe WP_Query :

$query = new WP_Query( $args );

if ( $query->have_posts() ) { ?>

    <section class="<?php echo $category->name; ?> listing">
        <h2>Latest in <?php echo $category->name; ?>:</h2>

        <?php while ( $query->have_posts() ) {

            $query->the_post();
            ?>

            <article id="post-<?php the_ID(); ?>" <?php post_class( 'category-listing' ); ?>>
                <?php if ( has_post_thumbnail() ) { ?>
                    <a href="<?php the_permalink(); ?>">
                        <?php the_post_thumbnail( 'thumbnail' ); ?>
                    </a>
                <?php } ?>

                <h3 class="entry-title">
                    <a href="<?php the_permalink(); ?>">
                        <?php the_title(); ?>
                    </a>
                </h3>

                <?php the_excerpt( __( 'Continue Reading <span class="meta-nav">&rarr;</span>', 'twentyfourteen' ) ); ?>

            </article>

        <?php } // end while ?>

    </section>

<?php } // end if

// Use reset to restore original query.
wp_reset_postdata();

Cela affichera les messages de chaque catégorie dans votre page d’accueil. S’il vous plaît essayez de l’utiliser et faites-moi savoir si vous avez un problème.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *