WordPress : Comment afficher vos articles de la semaine dernière

Dans cet article, nous allons vous montrer comment afficher vos articles de la semaine dernière dans WordPress.

Avant de vous montrer comment afficher vos articles de la semaine précédente, jetons d’abord un coup d’œil à la façon dont vous allez afficher les articles de la semaine en cours en utilisant WP_Query. Copiez et collez le code suivant dans votre fichier functions.php de votre thème.

La requête WP_Query

function wpb_this_week() { 
    $week = date('W');
    $year = date('Y');
    $the_query = new WP_Query( 'year=' . $year . '&w=' . $week );
    if ( $the_query->have_posts() ) : 
        while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
        <h2><a href="<?php the_permalink(); ?>" title="Lien permanent vers <?php the_title(); ?> "><?php the_title(); ?></a></h2>
	<?php the_excerpt(); ?>
      <?php endwhile; ?>
      <?php wp_reset_postdata(); ?>
    <?php else:  ?>
        <p><?php _e( 'Désolé, aucun article de trouvé avec ce critère.' ); ?></p>
    <?php endif;
}

Maintenant, tout ce que vous devez faire est d’ajouter <php wpb_this_week(); ?> dans votre fichier de thème où vous souhaitez afficher les articles de la semaine en cours.

Afficher vos articles de la semaine dernière

Maintenant, pour afficher les article de la semaine dernière tout ce que vous devez faire est -1 à la valeur de la semaine. Mais si c’est la première semaine de l’année, alors vous obtiendrez 0 pour la semaine et de l’année en cours au lieu de l’année dernière. Voici comment régler ce problème.

function wpb_last_week_posts() {
    $thisweek = date('W');

    if ($thisweek != 1) :
        $lastweek = $thisweek - 1;
    else :
        $lastweek = 52;
    endif;

    $year = date('Y');

    if ($lastweek != 52) :
        $year = date('Y');
    else:
        $year = date('Y') -1;
    endif;

    $the_query = new WP_Query( 'year=' . $year . '&w=' . $lastweek );

    if ( $the_query->have_posts() ) :
        while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
            <h2><a href="<?php the_permalink(); ?>" title="Lien permanent vers <?php the_title(); ?> "><?php the_title(); ?></a></h2>
            <?php the_excerpt(); ?>
      <?php endwhile; ?>
      <?php wp_reset_postdata(); ?>
    <?php else:  ?>
      <p><?php _e( 'Désolé, aucun article de trouvé avec ce critère.' ); ?></p>
    <?php endif;
}

Dans l’exemple de code ci-dessus, nous avons placé deux variables. La première définit la valeur de la dernière semaine à 52 (ce qui est la dernière semaine de l’année) lorsque la valeur de la semaine en cours est 1. Le deuxième contrôle définit la valeur de l’année à l’année dernière lorsque la valeur de la dernière semaine est de 52.

Donc, pour afficher vos articles de la semaine dernière tout ce que vous devez faire est d’ajouter <php wpb_last_week_posts(); ?> dans le fichier de votre thème où vous souhaitez les afficher.

Le Shortcode

Si vous souhaitez avoir plutôt avoir un Shortcode ajoutez simplement cette ligne ci-dessous le code ci-dessus.

add_shortcode('lastweek', 'wpb_last_week_posts');

Vous pouvez maintenant utiliser ce shortcode dans un article, une page ou un widget comme ceci:

[Lastweek]

En espérant que cela réponde à une de vos recherches.

 

Cet article a été traduit de l’original sur www.wpbeginner.com

0 réponses

Répondre

Se joindre à la discussion ?
Vous êtes libre de contribuer !

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.