La fonction de recherche intégrée en natif dans WordPress permet à vos visiteurs de trouver facilement le contenu qu’ils souhaitent. Cependant, bien quelle soit basique et sans grande innovation certaine extension et bout de code permettront l’élaborer et d’affiner la fonction de recherche de votre blog WordPress. Nous pouvons par exemple citer l’excellente extension « Search Meter » qui vous permet tout simplement d’enregistrer les requêtes de recherches faites par vos visiteurs. Par la suite vous pouvez les afficher dans n’importe quelles pages via les fonctions données ou encore grâce aux composants d’interfaces (widget) disponible dans les options de votre thème WordPress (Apparence – Widgets)
Toutefois, nous souhaitons par exemple – et cela sans utiliser d’extension, car il n’en existe pas encore, fonctionnelle et légère – afficher et filtrer le contenu selon les conditionnels de bases proposé par les requêtes d’affiches des articles de WordPress. En clair, une simple requêtes dans l’adresse de votre blog (suivi de la requête) nous permet de filtrer le contenu de la recherche comme nous le voulons. Ces requêtes sont tout simplement celles utilisées par les développeurs de thèmes, par exemple « orderby » ou encore « order« .
Nous allons également voir comment faire pour une adresse de recherche plus jolie en utilisant une simple fonction de base. Cela transformera tout simplement l’adresse de type « ?s= » par « /search/« . Cela reste quand même une fonctionnalité dont la nécessité reste à prouver, mais peut facilement satisfaire vos clients.
Modifier l’adresse de recherche
Si cette fonction vous intéresse, il vous suffit de coller le code suivant dans le fichier « functions.php » de votre blog thème WordPress. Cela appliquera automatiquement la redirection des recherches vers une bonne adresse.
[php]
function gksearch() {
if ( is_search() && strpos($_SERVER[‘REQUEST_URI’], ‘/search/’) === false ) {
wp_redirect(get_bloginfo(‘home’) . ‘/search/’ . str_replace(‘ ‘, ‘+’, str_replace(‘%20’, ‘+’, get_query_var(‘s’))));
exit();
}
}
[/php]
Les options de filtrages
Pour mettre ce système, rien de plus simple. Nous vous conseillons tout de même d’avoir une page « recherche » (search.php) personnalisé présent dans le dossier de votre thème WordPress. Nous allons utiliser la fonction de récupération de la requêtes de recherche pour permettre une personnalisation dynamique sans problème.
[php]
[/php]
Le module sera toutefois inséré manuellement pour des questions techniques et ne pas arriver à compliquer un peu plus la chose. La mise en place de ce type de fonctionnalités est destiné à tout type de niveau, débutant ou professionnel. Voici la mise en place en HTML, contenant la fonction et l’adresse de récupération des données de recherche et de filtrage.
Les requêtes ci-dessous sont des exemples, mais vous pouvez aller beaucoup plus loin grâce aux nombreuses fonctionnalités d’ordres disponibles. En voici la liste. Concernant l’ordre (order) vous pouvez utiliser les valeurs « ASC » (croissant) ou « DESC » (décroissant) pour afficher l’ordre d’apparition des résultats.
- orderby=author
- orderby=date
- orderby=title
- orderby=modified
- orderby=meta_value
- orderby=meta_value_num
- orderby=menu_order
- orderby=parent
- orderby=ID
- orderby=rand
- orderby=comment_count
- orderby=none
[php]