Table des matières
Les plats clés
Affiner la recherche par catégorie
Affiner la recherche par tag
Advance Advanced Search
Des questions fréquemment posées sur la recherche avancée dans WordPress
Comment puis-je personnaliser les résultats de recherche dans WordPress?
Puis-je utiliser des balises pour améliorer les résultats de recherche dans WordPress?
Comment puis-je modifier le paramètre de requête de recherche dans WordPress?
Qu'est-ce que WP_Query dans WordPress?
Comment puis-je exclure certains types de publication à partir des résultats de recherche dans WordPress?
Puis-je rechercher dans des champs personnalisés dans WordPress?
Comment puis-je améliorer la fonctionnalité de recherche dans WordPress?
Puis-je créer un formulaire de recherche dans WordPress sans plugin?
Comment puis-je afficher la requête de recherche dans WordPress?
Puis-je limiter le nombre de résultats de recherche dans WordPress?
Maison Tutoriel CMS WordPresse Comment ajouter une recherche avancée à votre site WordPress

Comment ajouter une recherche avancée à votre site WordPress

Feb 20, 2025 pm 12:07 PM

How to Add an Advanced Search to Your WordPress Site

Comment ajouter une recherche avancée à votre site WordPress

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.
La majorité des formulaires de recherche WordPress définissent un seul paramètre de requête nommé «S»:
<span><span><span><form</span> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></span>
</span><span><span><span><fieldset</span>></span>
</span><span><span><span><input</span> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search&hellip;"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
</span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span>
</span><span><span><span></fieldset</span>></span>
</span><span><span><span></form</span>></span></span>
Copier après la connexion
Copier après la connexion
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
Je ne suis pas convaincu de tous ces travaux comme prévu et certains sont un peu inutiles, mais ils correspondent aux paramètres que vous pouvez transmettre à WP_Query. Nous pouvons donc créer un formulaire de recherche avancé à l'aide de HTML avec un Smidgen de PHP pour automatiser les options.

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</span> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></span>
</span><span><span><span><fieldset</span>></span>
</span><span><span><span><input</span> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search&hellip;"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
</span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span>
</span><span><span><span></fieldset</span>></span>
</span><span><span><span></form</span>></span></span>
Copier après la connexion
Copier après la connexion
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=kittens
Copier après la connexion
Si vous préférez répertorier toutes les catégories, ajoutez le code suivant entre le et Tags:
<span><span><span><form</span> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></span>
</span><span><span><span><fieldset</span>></span>
</span><span><span><span><input</span> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search&hellip;"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
</span><span><span><span><select</span> name<span>="category_name"</span>></span>
</span><span><span><span><option</span> value<span>=""</span>></span>all categories<span><span></option</span>></span>
</span><span><span><span><option</span> value<span>="kittens"</span>></span>cute kittens<span><span></option</span>></span>
</span><span><span><span><option</span> value<span>="puppies"</span>></span>adorable puppies<span><span></option</span>></span>
</span><span><span><span></select</span>></span>
</span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span>
</span><span><span><span></fieldset</span>></span>
</span><span><span><span></form</span>></span></span>
Copier après la connexion

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>
Copier après la connexion
Votre recherche pourrait donc limiter les résultats à certaines balises, par exemple
http://yoursite.com/?s=search+term&tag=cockroach
Copier après la connexion
De même, vous pouvez générer une liste de toutes les balises pour le champ Select:
<span><span><span><form</span> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></span>
</span><span><span><span><fieldset</span>></span>
</span><span><span><span><input</span> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search&hellip;"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
</span><span><span><span><select</span> name<span>="tag"</span>></span>
</span><span><span><span><option</span> value<span>=""</span>></span>any tag<span><span></option</span>></span>
</span><span><span><span><option</span> value<span>="cockroach"</span>></span>cockroaches<span><span></option</span>></span>
</span><span><span><span><option</span> value<span>="snake"</span>></span>snakes<span><span></option</span>></span>
</span><span><span><span></select</span>></span>
</span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span>
</span><span><span><span></fieldset</span>></span>
</span><span><span><span></form</span>></span></span>
Copier après la connexion
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>
Copier après la connexion
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</span> method<span>="get"</span> action<span>="<span><?php bloginfo('url'); ?></span>"</span>></span>
</span><span><span><span><fieldset</span>></span>
</span><span><span><span><input</span> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search&hellip;"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
</span><span><span><span><p</span>></span>Refine search to posts containing chosen tags:<span><span></p</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>',
</span></span><span>		<span>'<input type="checkbox" name="taglist[]" value="',  $tag->slug, '" /> ',
</span></span><span>		<span>$tag->name,
</span></span><span>		<span>"</label>\n";
</span></span><span><span>}
</span></span><span><span>?></span>
</span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span>
</span><span><span><span></fieldset</span>></span>
</span><span><span><span></form</span>></span></span>
Copier après la connexion
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>
Copier après la connexion
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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment commencer un blog WordPress: un guide étape par étape pour les débutants Comment commencer un blog WordPress: un guide étape par étape pour les débutants Apr 17, 2025 am 08:25 AM

Les blogs sont la plate-forme idéale pour que les gens expriment leurs opinions, opinions et opinions en ligne. De nombreux débutants sont impatients de créer leur propre site Web, mais hésitent à s'inquiéter des obstacles techniques ou des problèmes de coûts. Cependant, comme la plate-forme continue d'évoluer pour répondre aux capacités et aux besoins des débutants, il commence maintenant à devenir plus facile que jamais. Cet article vous guidera étape par étape comment créer un blog WordPress, de la sélection de thème à l'utilisation des plugins pour améliorer la sécurité et les performances, vous aidant facilement à créer votre propre site Web. Choisissez un sujet et une direction de blog Avant d'acheter un nom de domaine ou d'enregistrer un hôte, il est préférable d'identifier les sujets que vous prévoyez de couvrir. Les sites Web personnels peuvent tourner autour des voyages, de la cuisine, des critiques de produits, de la musique ou de tout passe-temps qui suscite vos intérêts. Se concentrer sur les domaines qui vous intéressent vraiment peuvent encourager l'écriture continue

Comment ajuster la liste d'articles WordPress Comment ajuster la liste d'articles WordPress Apr 20, 2025 am 10:48 AM

Il existe quatre façons d'ajuster la liste des articles WordPress: utilisez des options de thème, utilisez des plugins (tels que l'ordre des types de publication, la liste des publiques WP, des trucs boxy), utilisez du code (ajoutez des paramètres dans le fichier functions.php), ou modifiez directement la base de données WordPress.

Comment afficher les catégories d'enfants sur la page des archives des catégories de parents Comment afficher les catégories d'enfants sur la page des archives des catégories de parents Apr 19, 2025 pm 11:54 PM

Voulez-vous savoir comment afficher les catégories d'enfants sur la page des archives de la catégorie parent? Lorsque vous personnalisez une page d'archive de classification, vous devrez peut-être le faire pour le rendre plus utile à vos visiteurs. Dans cet article, nous vous montrerons comment afficher facilement les catégories d'enfants sur la page des archives de la catégorie parent. Pourquoi les sous-catégories apparaissent-elles sur la page des archives de la catégorie des parents? En affichant toutes les catégories d'enfants sur la page des archives de la catégorie parent, vous pouvez les rendre moins génériques et plus utiles aux visiteurs. Par exemple, si vous exécutez un blog WordPress sur les livres et que vous avez une taxonomie appelée "thème", vous pouvez ajouter une sous-taxonomie telle que "roman", "non-fiction" afin que vos lecteurs puissent

Comment se connecter aux informations utilisateur dans WordPress pour des résultats personnalisés Comment se connecter aux informations utilisateur dans WordPress pour des résultats personnalisés Apr 19, 2025 pm 11:57 PM

Récemment, nous vous avons montré comment créer une expérience personnalisée pour les utilisateurs en permettant aux utilisateurs d'enregistrer leurs publications préférées dans une bibliothèque personnalisée. Vous pouvez porter des résultats personnalisés à un autre niveau en utilisant leurs noms à certains endroits (c'est-à-dire des écrans de bienvenue). Heureusement, WordPress facilite l'obtention d'informations sur les utilisateurs connectés. Dans cet article, nous vous montrerons comment récupérer des informations liées à l'utilisateur actuellement connecté. Nous utiliserons le get_currentUserInfo ();  fonction. Cela peut être utilisé n'importe où dans le thème (en-tête, pied de page, barre latérale, modèle de page, etc.). Pour que cela fonctionne, l'utilisateur doit être connecté. Nous devons donc utiliser

Comment trier les messages par date d'expiration après WordPress Comment trier les messages par date d'expiration après WordPress Apr 19, 2025 pm 11:48 PM

Dans le passé, nous avons partagé comment utiliser le plugin PostExpirator pour expirer les publications dans WordPress. Eh bien, lors de la création du site Web de la liste d'activités, nous avons trouvé ce plugin très utile. Nous pouvons facilement supprimer les listes d'activités expirées. Deuxièmement, grâce à ce plugin, il est également très facile de trier les publications par date d'expiration du post. Dans cet article, nous vous montrerons comment trier les publications par date d'expiration post-expiration dans WordPress. Code mis à jour pour refléter les modifications du plugin pour modifier le nom du champ personnalisé. Merci Tajim de nous avoir fait savoir dans les commentaires. Dans notre projet spécifique, nous utilisons des événements comme types de publication personnalisés. Maintenant

WordPress est-il facile pour les débutants? WordPress est-il facile pour les débutants? Apr 03, 2025 am 12:02 AM

WordPress est facile pour les débutants de commencer. 1. Après se connecter à l'arrière-plan, l'interface utilisateur est intuitive et le tableau de bord simple fournit tous les liens de fonction nécessaires. 2. Les opérations de base incluent la création et l'édition de contenu. L'éditeur WYSIWYG simplifie la création de contenu. 3. Les débutants peuvent étendre les fonctions du site Web via des plug-ins et des thèmes, et la courbe d'apprentissage existe mais peut être maîtrisée par la pratique.

Comment afficher le nombre de requêtes et le temps de chargement de la page dans WordPress Comment afficher le nombre de requêtes et le temps de chargement de la page dans WordPress Apr 19, 2025 pm 11:51 PM

L'un de nos utilisateurs a demandé à d'autres sites Web comment afficher le nombre de requêtes et de temps de chargement dans le pied de page. Vous voyez souvent cela dans le pied de page de votre site Web, et il peut afficher quelque chose comme: "64 requêtes en 1,248 secondes". Dans cet article, nous vous montrerons comment afficher le nombre de requêtes et de temps de chargement de page dans WordPress. Collez simplement le code suivant partout dans le fichier de thème (par exemple Footer.php). requêtes

Comment automatiser WordPress et les médias sociaux avec IFTTT (et plus) Comment automatiser WordPress et les médias sociaux avec IFTTT (et plus) Apr 18, 2025 am 11:27 AM

Cherchez-vous des moyens d'automatiser votre site Web WordPress et vos comptes de médias sociaux? Avec l'automatisation, vous pourrez partager automatiquement vos articles de blog WordPress ou vos mises à jour sur Facebook, Twitter, LinkedIn, Instagram et plus encore. Dans cet article, nous vous montrerons comment automatiser facilement WordPress et les médias sociaux en utilisant IFTTT, Zapier et Uncanny Automator. Pourquoi automatiser WordPress et les médias sociaux? Automatiser votre wordpre

See all articles