NB : Faire une sauvegarde de votre thème, de votre fichier et/ou votre base de données avant d’ajouter ces fonctions tutoriels.
Publié le : 11 octobre 2016 - Modifié le : 18 janvier 2022
Temps de lecture : 1 minute, 53 seconds - 236 mots
Partager la publication "Exclure le Current ID dans un Query Post Type"
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 !