Comment afficher les publications de la semaine dernière dans WordPress


Beaucoup de nos lecteurs de niveau débutant commencent bientôt à modifier leurs thèmes WordPress, c'est pourquoi nous avons une aide-mémoire sur les thèmes WordPress pour les aider à démarrer. Cela apporte des défis intéressants pour les nouveaux utilisateurs. L’un de ces lecteurs nous a récemment demandé comment afficher les publications de la semaine dernière dans WordPress. Ils voulaient simplement ajouter une section sur leur page d'accueil affichant les publications de la semaine précédente. Dans cet article, nous allons vous montrer comment afficher les publications de la semaine dernière dans WordPress.

Avant de vous montrer comment afficher les publications de la semaine précédente, voyons d’abord comment afficher les publications de la semaine en cours à l’aide de WP_Query. Copiez et collez le code suivant dans le fichier function.php de votre thème ou dans un plugin spécifique au site.

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="Permanent link to <?php the_title(); ?> "><?php the_title(); ?></a></h2>
	<?php the_excerpt(); ?>
  <?php endwhile; ?>
  <?php wp_reset_postdata(); ?>
<?php else:  ?>
  <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif;
}

Dans l’exemple de code ci-dessus, nous avons d’abord découvert la semaine et l’année en cours. Nous avons ensuite utilisé ces valeurs dans WP_Query pour afficher les publications de la semaine en cours. Il ne vous reste plus qu'à ajouter <?php wpb_this_week(); ?> dans votre fichier de thème où vous souhaitez afficher les publications.

C'était simple, n'est-ce pas ? Désormais, pour afficher les publications de la semaine dernière, il vous suffit de moins 1 de 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 l'année en cours au lieu de l'année dernière. Voici comment résoudre 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="Permanent link to <?php the_title(); ?> "><?php the_title(); ?></a></h2>
	<?php the_excerpt(); ?>
  <?php endwhile; ?>
  <?php wp_reset_postdata(); ?>
<?php else:  ?>
  <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif;

}

Dans l'exemple de code ci-dessus, nous avons placé deux vérifications. La première vérification définit la valeur de la semaine dernière sur 52 (qui est la dernière semaine d'une année) lorsque la valeur de la semaine en cours est 1. La deuxième vérification définit la valeur de l'année sur l'année dernière lorsque la valeur de la semaine dernière est 52.

Pour afficher les publications de la semaine dernière, il vous suffit d'ajouter <?php wpb_last_week_posts(); ?> au fichier modèle de votre thème où vous souhaitez les afficher. Ou si vous souhaitez avoir un shortcode afin de pouvoir l'ajouter dans une page ou un widget, ajoutez simplement cette ligne sous le code donné ci-dessus.

add_shortcode('lastweek', 'wpb_last_week_posts');

Vous pouvez désormais utiliser ce shortcode dans une publication, une page ou un widget comme celui-ci :

[la semaine dernière]

Veuillez noter que vous n'avez pas toujours besoin de WP_Query pour créer des requêtes personnalisées. WordPress est livré avec une poignée de fonctions pour vous aider à afficher les publications récentes, les archives, les commentaires, etc. S'il existe un moyen plus simple d'utiliser les fonctions existantes, vous n'avez pas vraiment besoin d'écrire vos propres requêtes.

Nous espérons que cet article vous a aidé à afficher les publications de la semaine dernière dans WordPress. Expérimentez avec le code et modifiez-le pour répondre à vos besoins. Faites-nous savoir si vous avez des questions en laissant un commentaire ci-dessous ou rejoignez-nous sur Twitter.