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

Exclure le Current ID dans un Query Post Type
Facile
Hébergement Web Canada

Publié le : 11 octobre 2016 - Modifié le : 18 janvier 2022

Temps de lecture : 1 minute, 53 seconds - 236 mots

Exclure le Current ID dans un Query Post Type : Dans ce tutoriel WordPress, nous allons effectuer une requête qui va permettre par exemple dans un single Post type (dans le sidebar) d’afficher les autres résultats excluant celui qu’on a en single.

Dans l’exemple, nous avons déjà dans notre WordPress un Post Type du nom de services. Imaginons maintenant, nous consultons l’un de ses services, donc en théorie WordPress appelera le fichier single-services.php, et s’il n’existe pas, il se remettra au single.php.

Si vous n’avez pas de single-posttype.php (Ex:single-services.php), assurez-vous de le créer si vous souhaitez le customiser en requêtes et en HTML/Css.

Une fois notre fichier prêt … Faisons dans notre DIV Sidebar notre Query Post Type en excluant le Post ID consulté ….

Exclure le Current ID dans un Query Post Type

<?php 
$i = 1; 
$currentID = get_the_ID(); 
$temp = $wp_query; 
$wp_query = null; 
$wp_query = new WP_Query( 
	array( 
		'post_type'      => 'services', 
		'showposts'      => '5', 
		'post__not_in'   => array($currentID) 
	)
); 

while ($wp_query->have_posts()) : $wp_query->the_post(); ?>

/// Votre loop ici 
<?php echo $i; ?>

<?php $i++; endwhile; ?>
<?php 
$wp_query = null; $wp_query = $temp; 
// Reset 
?>

La première ligne $i = 1; finalement vous permet de faire une incrémentation à partir de 1. C’est-à-dire on va comptabiliser par chiffre l’ordre requête de vos services. Vous pouvez donc dans votre loop afficher le numéro de classement comme ceci :

<?php echo $i; ?>

Dans la deuxième ligne de notre Query Post Type, nous décidons de stocker le ID consulté dans une variable afin ensuite de l’exclure dans notre requête par un post_not_in (‘post__not_in’ => array($currentID)).

Références : get_the_ID();
Voilà, ça affichera dans votre sidebar tous les résultats de votre Post Type sauf celui-ci consulté.

Bonne semaine !

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>