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

Le Search WordPress
Intermédiaire

---- Cet article a été modifié : 12 janvier 2021

Il est naturel que des problèmes de requêtes Search ne soient exécutées surtout en direction des Custom Post Type.
De temps en temps, nous partageons certaines solutions.
Voici une fonction filtre qui fera une recherche poussée pour optimiser les recherches de vos utilisateurs dans votre site Web….
Tout d’abord s’assurer que votre searchform.php soit bien initialisé… Le voici

 

Ensuite vous devez intégrer une fonction filtre à intégrer dans votre functions.php

1
2
3
4
5
6
7
8
9
10
11
12
///////////////////////////////////////
// Requete de recherche mots clés tous post
///////////////////////////////////////
function searchfilter($query) {
 
if ($query->is_search && !is_admin() ) {
$query->set('post_type',array('post','recettes'));
}
 
return $query;
}
add_filter('pre_get_posts','searchfilter');

Vous remarquerez que dans ce filtre, nous effectuons une requête sur les posts généraux mais aussi sur le Custom Post Type du nom de recettes. Remplacer le par le vôtre. Maintenant, imaginons que vous ayez un autre Custom Post Type du nom de portfolio, alors comment le rajouter après recettes…

1
2
3
4
5
6
7
8
9
10
11
12
///////////////////////////////////////
// Requete de recherche mots clés tous post
///////////////////////////////////////
function searchfilter($query) {
 
if ($query->is_search && !is_admin() ) {
$query->set('post_type',array('post','recettes','portfolio'));
}
 
return $query;
}
add_filter('pre_get_posts','searchfilter');

N’oubliez pas votre search.php qui servira d’afficher les résultats.

Leave a Reply

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>