Les plats clés
- Les formulaires de recherche WordPress peuvent être améliorés au-delà du paramètre de requête de base «S» en utilisant d'autres paramètres au plus profond du noyau WordPress, permettant des résultats de recherche plus ciblés.
- Les résultats de recherche peuvent être affinés par catégorie ou balise en passant leurs limaces respectives aux paramètres «catégories_name» ou «tag», respectivement. Cela peut être fait sans avoir besoin de plugins.
- Les recherches avancées peuvent être affinées par plusieurs valeurs à l'aide de paramètres de tableau PHP, qui peuvent être interceptés et définis dans le fichier Functions.PHP du thème WordPress. Cela permet aux utilisateurs de choisir plusieurs balises pour une recherche plus ciblée.
<span><span><span><form> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></form></span> </span><span><span><span><fieldset>></fieldset></span> </span><span><span><span><input> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search…"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span> </span><span><span><span><button> type<span>="submit"</span>></button></span>Search<span><span></span>></span> </span><span><span><span></span>></span> </span><span><span><span></span>></span></span></span></span></span></span>Il n'y a rien de mal à cela et je pensais que c'était la seule option pour de nombreuses années. Cependant, des requêtes plus avancées sont possibles sans l'aide de plugins (bien que beaucoup soient disponibles). Au fond du noyau WordPress, l'application analyse plusieurs autres paramètres de requête et les utilise pour renvoyer un ensemble plus ciblé de résultats de recherche. Il existe une documentation rudimentaire qui répertorie les noms de paramètres:
- pièce jointe
- Pièces actions_id
- Auteur
- AUTOR_NAME
- Cat
- catégorie_name
- commentaires_popup
- jour
- Erreur
- Feed
- heure
- m
- minute
- Montsnum
- nom
- p
- page_id
- PAGED
- pagename
- post_parent
- post_type
- Aperçu
- seconde
- statique
- sous-poste
- subpost_id
- tag
- tag_id
- TB
- w
- année
Affiner la recherche par catégorie
Vous pouvez limiter les résultats à une catégorie en transmettant sa limace au paramètre catégories_name, par ex.<span><span><span><form> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></form></span> </span><span><span><span><fieldset>></fieldset></span> </span><span><span><span><input> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search…"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span> </span><span><span><span><button> type<span>="submit"</span>></button></span>Search<span><span></span>></span> </span><span><span><span></span>></span> </span><span><span><span></span>></span></span></span></span></span></span>Notre formulaire de recherche peut permettre à l'utilisateur d'affiner sa recherche vers des catégories spécifiques:
http://yoursite.com/?s=search+term&category_name=kittensSi vous préférez répertorier toutes les catégories, ajoutez le code suivant entre le
<span><span><span><form> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></form></span> </span><span><span><span><fieldset>></fieldset></span> </span><span><span><span><input> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search…"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span> </span><span><span><span><select> name<span>="category_name"</span>></select></span> </span><span><span><span><option> value<span>=""</span>></option></span>all categories<span><span></span>></span> </span><span><span><span><option> value<span>="kittens"</span>></option></span>cute kittens<span><span></span>></span> </span><span><span><span><option> value<span>="puppies"</span>></option></span>adorable puppies<span><span></span>></span> </span><span><span><span></span>></span> </span><span><span><span><button> type<span>="submit"</span>></button></span>Search<span><span></span>></span> </span><span><span><span></span>></span> </span><span><span><span></span>></span></span></span></span></span></span></span></span></span></span>
Affiner la recherche par tag
Les résultats de la recherche peuvent être limités à une balise en passant sa limace au paramètre de balise, par ex.<span><span><?php </span></span><span><span>// generate list of categories </span></span><span><span>$categories = get_categories(); </span></span><span><span>foreach ($categories as $category) { </span></span><span> <span>echo '<option value="', $category->slug, '">', $category->name, "</option>\n"; </span></span><span><span>} </span></span><span><span>?></span></span></span>Votre recherche pourrait donc limiter les résultats à certaines balises, par exemple
http://yoursite.com/?s=search+term&tag=cockroachDe même, vous pouvez générer une liste de toutes les balises pour le champ Select:
<span><span><span><form> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></form></span> </span><span><span><span><fieldset>></fieldset></span> </span><span><span><span><input> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search…"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span> </span><span><span><span><select> name<span>="tag"</span>></select></span> </span><span><span><span><option> value<span>=""</span>></option></span>any tag<span><span></span>></span> </span><span><span><span><option> value<span>="cockroach"</span>></option></span>cockroaches<span><span></span>></span> </span><span><span><span><option> value<span>="snake"</span>></option></span>snakes<span><span></span>></span> </span><span><span><span></span>></span> </span><span><span><span><button> type<span>="submit"</span>></button></span>Search<span><span></span>></span> </span><span><span><span></span>></span> </span><span><span><span></span>></span></span></span></span></span></span></span></span></span></span>
Advance Advanced Search
Et si vous souhaitez affiner la recherche par plusieurs valeurs? Par exemple, l'utilisateur peut choisir deux ou plusieurs balises et les pages résultantes doivent les avoir tous définis. Nous ne pouvons pas y parvenir en utilisant les paramètres URL seuls, mais commençons par définir un formulaire de recherche HTML:<span><span><?php </span></span><span><span>// generate list of tags </span></span><span><span>$tags = get_tags(); </span></span><span><span>foreach ($tags as $tag) { </span></span><span> <span>echo '<option value="', $tag->slug, '">', $tag->name, "</option>\n"; </span></span><span><span>} </span></span><span><span>?></span></span></span>Notez que j'ai utilisé un paramètre de tableau PHP nommé TagList . Vous pouvez utiliser n'importe quel nom autre que ceux déjà réservés par WordPress (voir la liste ci-dessus). Nous pouvons désormais intercepter une soumission de recherche dans le fichier fonctions.php de notre thème WordPress. La fonction Advanced_Search_Query détecte si une recherche est active alors définit le paramètre WP_Query Tag_Slug__ et en conséquence.
<span><span><span><form> method<span>="get"</span> action<span>="<span><?php bloginfo('url'); ?></span>"</span>></form></span> </span><span><span><span><fieldset>></fieldset></span> </span><span><span><span><input> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search…"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span> </span><span><span><span><p>></p></span>Refine search to posts containing chosen tags:<span><span></span>></span> </span><span><span><?php </span></span><span><span>// generate list of tags </span></span><span><span>$tags = get_tags(); </span></span><span><span>foreach ($tags as $tag) { </span></span><span> <span>echo </span></span><span> <span>'<label>', </label></span></span><span> <span>'<input type="checkbox" name="taglist[]" value="', $tag->slug, '"> ', </span></span><span> <span>$tag->name, </span></span><span> <span>"\n"; </span></span><span><span>} </span></span><span><span>?></span> </span><span><span><span><button> type<span>="submit"</span>></button></span>Search<span><span></span>></span> </span><span><span><span></span>></span> </span><span><span><span></span>></span></span></span></span></span></span></span></span>Enfin, nous utilisons le Hook Action Pre_get_Posts pour exécuter notre fonction Advanced_Search_Query avant l'exécution d'une requête:
<span>// advanced search functionality </span><span>function advanced_search_query($query) { </span> <span>if($query->is_search()) { </span> <span>// tag search </span> <span>if (isset($_GET['taglist']) && is_array($_GET['taglist'])) { </span> <span>$query->set('tag_slug__and', $_GET['taglist']); </span> <span>} </span> <span>return $query; </span> <span>} </span> <span>}</span>L'ajout d'installations de recherche avancées à WordPress est remarquablement facile, mais peu de développeurs se rendent compte que c'est possible… peut-être parce que la documentation et les exemples sont un peu clairsemés . Je l'ai découvert par accident, j'espère donc que vous trouverez ce code utile dans votre prochain projet WordPress.
Des questions fréquemment posées sur la recherche avancée dans WordPress
Comment puis-je personnaliser les résultats de recherche dans WordPress?
La personnalisation des résultats de recherche dans WordPress peut être obtenue en utilisant la classe WP_Query. Cette classe vous permet de définir des paramètres spécifiques pour adapter vos résultats de recherche. Par exemple, vous pouvez définir des paramètres pour rechercher uniquement dans les titres de publication, exclure certains types de publication ou même rechercher dans des champs personnalisés. Vous pouvez également utiliser des plugins comme SearchWP qui offrent des options de personnalisation de recherche avancées.
Puis-je utiliser des balises pour améliorer les résultats de recherche dans WordPress?
Oui, les balises peuvent considérablement améliorer les résultats de recherche dans WordPress. En utilisant la fonction get_the_tags (), vous pouvez récupérer les balises associées à un post particulier. Cela peut être utilisé pour créer une expérience de recherche plus raffinée, permettant aux utilisateurs de rechercher des publications avec des balises spécifiques.
Comment puis-je modifier le paramètre de requête de recherche dans WordPress?
Le paramètre de requête de recherche dans WordPress peut être modifié à l'aide du filtre "Query_Vars". Cela vous permet de modifier le paramètre «S» par défaut en quelque chose de plus spécifique à vos besoins. Par exemple, vous pouvez le modifier en 'search_term' pour rendre vos URL plus conviviales.
Qu'est-ce que WP_Query dans WordPress?
WP_Query est une classe dans WordPress qui vous permet de créer personnalisé requêtes et boucles. Il fournit de nombreux paramètres que vous pouvez utiliser pour personnaliser vos requêtes, telles que le type de poste, la catégorie, la balise, l'auteur, etc. Cela en fait un outil puissant pour créer des fonctionnalités de recherche avancées.
Comment puis-je exclure certains types de publication à partir des résultats de recherche dans WordPress?
L'exclusion de certains types de post à partir des résultats de recherche peut être effectué en utilisant le ' PRE_GET_POSTS Action Hook en conjonction avec la classe WP_Query. Vous pouvez définir le paramètre 'Post_Type' sur un tableau des types de publication que vous souhaitez inclure dans les résultats de recherche, excluant efficacement tous les autres.
Puis-je rechercher dans des champs personnalisés dans WordPress?
Oui, vous pouvez rechercher dans des champs personnalisés dans WordPress en utilisant le paramètre 'meta_query' dans WP_Query. Cela vous permet de spécifier une touche et une valeur de champ personnalisées, et de retourner les publications qui correspondent à ces critères.
Comment puis-je améliorer la fonctionnalité de recherche dans WordPress?
Améliorer la fonctionnalité de recherche dans WordPress peut être réalisée En utilisant des plugins comme SearchWP, Re pertinentssi ou Ajax Search Pro. Ces plugins offrent des fonctionnalités de recherche avancées telles que la correspondance partielle, les mots clés engendrés et la pondération de recherche, offrant une meilleure expérience utilisateur.
Puis-je créer un formulaire de recherche dans WordPress sans plugin?
Oui, vous Peut créer un formulaire de recherche dans WordPress sans plugin en utilisant la fonction get_search_form (). Cette fonction génère le HTML pour un formulaire de recherche, que vous pouvez personnaliser en fonction de vos besoins.
Comment puis-je afficher la requête de recherche dans WordPress?
La requête de recherche peut être affichée dans WordPress en utilisant La fonction get_search_query (). Cette fonction récupère la chaîne de requête de recherche et peut être utilisée pour afficher le terme de recherche sur votre page de résultats de recherche.
Puis-je limiter le nombre de résultats de recherche dans WordPress?
Oui, vous pouvez limiter Le nombre de résultats de recherche dans WordPress en utilisant le paramètre 'Posts_per_page' dans WP_Query. Cela vous permet de spécifier le nombre de messages à afficher par page, limitant efficacement le nombre de résultats de recherche.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

WordPressisapowfulcmsWithSIgnifificantAdvantages andsChallenge.1) il est utile et adapté à la réussite, idéal-bbeginners.2) sa flexibilité

WordPressExcelsInasonEaseOfUSEADAdaptabilité, fabriquantidealforbeginnersendsmalltomedium-sizedBusiness.1) faciliteofUse: wordpressisuseur-friendly.2) Sécurité: drupalleadswithstrongsecurityfeatures.3) Performance: GhostoFersExCellantPerformanceDueToDode.js.4) échelle Scale: fantôme

Oui, vous utilisezwordpresstobuildamemberShipSite.

Vous n'avez pas besoin de connaissances en programmation pour utiliser WordPress, mais la maîtrise de la programmation peut améliorer l'expérience. 1) Utilisez CSS et HTML pour ajuster le style de thème. 2) Les connaissances PHP peuvent modifier les fichiers de rubrique et ajouter des fonctions. 3) Les plug-ins personnalisés et les balises de méta peuvent optimiser le référencement. 4) Faites attention à la sauvegarde et à l'utilisation des sous-thèmes pour éviter les problèmes de mise à jour.

ToseCureAwordPressSite, suivez les personnes

WordPressExcelSoverotherwebsiteBuildersDuetOitsFlexibility, Svalible, andOpen-Sourcenatur.1) It'saversatilecmswitHExtensiveCustomationOptionsViathemeSandPlugins.2)

Sept plugins WordPress incontournables pour le développement de sites Web 2025 La construction d'un site Web WordPress de haut niveau en 2025 exige la vitesse, la réactivité et l'évolutivité. La réalisation de cela dépend efficacement souvent de la sélection stratégique des plugins. Cet article Highlig

WordPressCanBeUsedForvariousPurposesBeyondBlogging.1) e-commerce: avec Woocommerce, ItCanBeComeAfonLonnestore.2) Adhésion: PluginslikeMemberpressSenableExClusiveContentareas.3) Portfoliosites: ThemeSlikeasTraallowstunninglay


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version anglaise
Recommandé : version Win, prend en charge les invites de code !

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Version Mac de WebStorm
Outils de développement JavaScript utiles

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft
