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 : 06 février 2016 - Modifié le : 18 janvier 2022
Temps de lecture : 1 minute, 35 seconds - 129 mots
Partager la publication "Fonction de Recherche WordPress"
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
<form id="searchform" role="search" action="<?php echo home_url( '/' ); ?>" method="get"><input id="s" name="s" type="text" value="<?php the_search_query(); ?>" /> <input id="searchsubmit" type="submit" value="" /></form>
Ensuite vous devez intégrer une fonction filtre à intégrer dans votre functions.php
/////////////////////////////////////// // 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…
/////////////////////////////////////// // 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');
Votre search.php qui servira d’afficher les résultats.