NB : Faire une sauvegarde de votre thème, de votre fichier et/ou votre base de données avant d’ajouter ces fonctions tutoriels.

WordPress : Afficher les articles du mois avec le get_posts
Facile
Hébergement Web Canada

Publié le : 22 avril 2018 - Modifié le : 17 janvier 2022

Temps de lecture : 1 minute, 43 seconds - 220 mots

Dans ce tutoriel, nous allons nous permettre de questionner la base de données WordPress en voulant afficher les articles (post) ou les Post Types éventuellement qui ont publiés dans le mois courant. Le get_posts est une bonne manière de rechercher mais il peut nous limiter dans nos arguments. Il nous permet de nous simplifier les requêtes rapides dans n’importe que template page.

Ça nous permet aussi d’afficher un nombre de résultat par un post_per_page sans afficher la pagination. On se simplifie aussi en temps. Voici donc notre requête. On ferme notre requête par wp_reset_postdata();.

Ici dans notre exemple, nous avons mis le posts_per_page est à -1 parce que l’on souhaite montrer tous les résultats du mois courant. Notre Post Type est viavideos, remplacez le par le votre ou mettez ‘post’ pour les articles.

Comme vous voyez, il faut stocker dans deux variables différentes les dates correspondant à l’année et mois en cours. Ensuite nous devons effectuer dans nos arguments une date_query et ensuite mettre les arguments de nos deux dates.

Puis on boucle pour afficher nos résultats.

Afficher les articles ou Post Type du mois avec le get_posts

<?php
$year = date('Y'); 
$month = date('m'); 
$args = array( 
	'posts_per_page'    => -1,
	'post_type'         => 'viavideos',
	'date_query'        => array(
	array(
		'year'  => $year,
		'month' => $month,
	),
),
);
 
$posts = get_posts( $args );
foreach( $posts as $post ) :  setup_postdata($post); ?>
<?php /// Votre div dynamique désirée ?>
<?php endforeach; wp_reset_postdata(); ?>

NB : Faire une sauvegarde de votre thème, de votre fichier et/ou votre base de données avant d’ajouter ces fonctions tutoriels.

Laissez un commentaire

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

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>