Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Coupe WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

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

Note éditoriale : Nous percevons une commission sur les liens des partenaires sur WPBeginner. Les commissions n'affectent pas les opinions ou les évaluations de nos rédacteurs. En savoir plus sur Processus éditorial.

Beaucoup de nos lecteurs débutants commencent rapidement à modifier leurs thèmes WordPress, c’est pourquoi nous avons une antisèche sur les thèmes WordPress pour les aider à Premiers pas. Cela amène quelques défis intéressants pour les utilisateurs/utilisatrices nouveaux. Un de ces lecteurs nous a récemment demandé comment afficher les publications de la semaine dernière sur WordPress. Il souhaitait simplement ajouter une section sur sa page d’accueil qui afficherait les publications de la semaine précédente. Dans cet article, nous allons vous afficher comment afficher les publications de la semaine dernière sur WordPress.

Avant d’afficher les publications de la semaine précédente, voyons d’abord comment afficher les articles de la semaine en cours en utilisant WP_Query. Copiez et collez le code suivant dans le fichier functions.php de votre thème ou dans une extension spécifique à votre 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 trouvé 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 le fichier de votre thème à l’endroit où vous souhaitez afficher les publications.

C’était simple, n’est-ce pas ? Dernier point, pour afficher les publications de la semaine dernière, il suffit de soustraire 1 à la valeur de la semaine. Mais s’il s’agit de la première semaine de l’année, vous obtiendrez 0 pour la semaine et l’année en cours au lieu de l’année dernière. Voici comment corriger 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 contrôles. La première définit la valeur de la dernière semaine à 52 (qui est la dernière semaine de l’année) lorsque la valeur de la semaine en cours est 1. La seconde définit la valeur de l’année à l’année dernière lorsque la valeur de la dernière semaine 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 à l’endroit où vous souhaitez les afficher. Ou si vous souhaitez disposer d’un code court vous permettant d’ajouter ceci dans une page ou un widget, ajoutez simplement cette ligne en dessous du code donné ci-dessus.

add_shortcode('lastweek', 'wpb_last_week_posts');

Vous pouvez maintenant utiliser ce code court dans une publication, une page ou un widget comme ceci :

[lastweek]

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, alors 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 le code et modifiez-le en fonction de vos besoins. Faites-nous savoir si vous avez des questions en laissant un commentaire ci-dessous ou rejoignez-nous sur Twitter.

Divulgation : Notre contenu est soutenu par les lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons gagner une commission. Consultez comment WPBeginner est financé, pourquoi cela compte et comment vous pouvez nous soutenir. Voici notre processus éditorial.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

L'ultime WordPress Toolkit

Accédez GRATUITEMENT à notre boîte à outils - une collection de produits et de ressources liés à WordPress que tous les professionnels devraient avoir !

Reader Interactions

9 commentairesLaisser une réponse

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Allison says

    I am curious about when/why I would want to display the week’s posts? On my home page, I display excerpts, so the posts from my past 2 weeks or so are visible. What am I missing here? Thanks!

    • WPBeginner Support says

      You don’t need to. But some other website owners may have a layout where they might want to display previous week’s posts separately. This tutorial is aimed to help those users.

      Administrateur

Laisser une réponse

Merci d'avoir choisi de laisser un commentaire. Veuillez garder à l'esprit que tous les commentaires sont modérés selon notre politique de commentaires, et votre adresse e-mail ne sera PAS publiée. Veuillez NE PAS utiliser de mots-clés dans le champ du nom. Ayons une conversation personnelle et significative.