web-dev-qa-db-fra.com

Documentation Wordpress Search: comment améliorer les requêtes de recherche en utilisant des termes de taxonomie, des champs de méta personnalisés?

J'essaie de comprendre comment fonctionne la recherche dans Wordpress. Je n'ai pas trouvé beaucoup d'informations sur le Codex. On peut soutenir que la recherche n'est pas la meilleure fonctionnalité WP. Même Wordpress.org utilise la recherche Google.

Je souhaite créer un formulaire de recherche personnalisé pour permettre aux utilisateurs d'effectuer une recherche à l'aide de mes taxonomies et méta-champs personnalisés.

J'imagine que la requête de recherche fonctionnerait exactement comme une requête normale WP; par conséquent, une requête fiscale et une méta requête devraient être possibles.

Mais comment transmettre les données de formulaire soumises par l'utilisateur à une requête de recherche?

Est-il possible de passer des variables de formulaire à la chaîne /? S = search dans la barre d'adresse? ça faciliterait les choses ...

Je sais qu'il y a beaucoup de plugins autour. Certains d'entre eux sont assez complexes. Mais cela ne me dérange pas d'apprendre à ma manière et les quelques d'essais nécessiteraient une certaine adaptation pour mon thème (qui utilise près de dix types d'articles différents et un ensemble de taxonomies personnalisées, plus des charges de champs personnalisés gérées par le plugin Advanced Custom Fields) .

Y at-il un article détaillé qui va en profondeur à ce sujet?

MODIFIER

Je viens juste de proposer une idée: créer un formulaire sur une page, puis passer les variables de champs d'entrée avec $ GET à un autre modèle de page contenant un WP_Query personnalisé et, avec certains IF et ELSE, effectuer une requête personnalisée ... postez une réponse avec le code quand j'ai terminé. C'est proche de ce que je demandais, même si je voulais savoir si c'était possible sans créer un nouveau modèle avec une nouvelle requête, oh bien ...

3
unfulvio

J'ai eu la même question il y a quelques semaines. Voici ce que j'ai fait pour que cela fonctionne pour moi.

Comment utiliser WP_Query pour exécuter cette requête de base de données en tant que résultat de la recherche?

Si vous lisez ma réponse que j'ai postée à titre de référence, vous verrez que j'ai fini par ajouter un filtre add_filter('post_request','your_function_name'); qui me permettait fondamentalement de réécrire complètement la requête mysql qui renvoyait des résultats de la base de données en fonction de paramètres supplémentaires Je passais à travers la chaîne de requête dans l'URL.

1
Brent