Beaucoup de nos lecteurs de niveau débutant commencent bientôt à modifier leurs thèmes WordPress, c’est pourquoi nous avons une feuille de triche de thème WordPress pour les aider à démarrer. Cela pose des défis intéressants pour les nouveaux utilisateurs. Un de ces lecteurs nous a récemment demandé comment afficher les articles de la semaine dernière dans WordPress. Ils voulaient juste ajouter une section sur leur page d’accueil qui affichait 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, examinons d’abord comment vous pouvez afficher les publications de la semaine en cours à l’aide de WP_Query. Copiez et collez le code suivant dans le fichier functions.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. Maintenant, tout ce que vous avez à faire est d’ajouter <?php wpb_this_week(); ?>
dans votre fichier de thème où vous souhaitez afficher les articles.
C’était simple, n’est-ce pas ? Maintenant, pour afficher les messages de la semaine dernière, tout ce que vous avez à faire est de moins 1 par rapport à 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 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 (c’est-à-dire 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 messages de la semaine dernière, il vous suffit d’ajouter <?php wpb_last_week_posts(); ?>
au fichier de modèle de votre thème où vous souhaitez les afficher. Ou si vous souhaitez avoir un shortcode pour pouvoir l’ajouter dans une page ou un widget, ajoutez simplement cette ligne sous le code indiqué ci-dessus.
add_shortcode('lastweek', 'wpb_last_week_posts');
Vous pouvez désormais utiliser ce shortcode dans un article, une page ou un widget comme celui-ci :
[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, vous n’avez pas vraiment besoin d’écrire vos propres requêtes.
Nous espérons que cet article vous a aidé à afficher les articles 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.