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!

Peut apprendre WordPress dans les trois jours. 1. Master les connaissances de base, telles que les thèmes, les plug-ins, etc. 2. Comprenez les fonctions principales, y compris les principes d'installation et de travail. 3. Apprenez l'utilisation de base et avancée à travers des exemples. 4. Comprendre les techniques de débogage et les suggestions d'optimisation des performances.

WordPress est un système de gestion de contenu (CMS). Il fournit une gestion de contenu, une gestion des utilisateurs, des thèmes et des capacités de plug-in pour prendre en charge la création et la gestion du contenu du site Web. Son principe de travail comprend la gestion des bases de données, les systèmes de modèles et l'architecture du plug-in, adaptés à une variété de besoins, des blogs aux sites Web d'entreprise.

WordPressisGoodForvirontuallyAnyWebprojectDuetOtsSversatityAsacms.itexcelsin: 1) une convivialité, permettant à la manière

Wix convient aux utilisateurs qui n'ont aucune expérience de programmation, et WordPress convient aux utilisateurs qui souhaitent plus de capacités de contrôle et d'extension. 1) Wix fournit des éditeurs de glisser-déposer et des modèles riches, ce qui facilite la création d'un site Web rapidement. 2) En tant que CMS open source, WordPress possède un énorme écosystème communautaire et plug-in, soutenant la personnalisation et l'expansion approfondies.

WordPress lui-même est gratuit, mais il en coûte supplémentaire à utiliser: 1. WordPress.com propose un package allant du gratuit à payant, avec des prix allant de quelques dollars par mois à des dizaines de dollars; 2. WordPress.org nécessite l'achat d'un nom de domaine (10-20 dollars américains par an) et des services d'hébergement (5-50 dollars américains par mois); 3. La plupart des plug-ins sont gratuits, et le prix payant se situe entre des dizaines et des centaines de dollars; En choisissant le bon service d'hébergement, en utilisant des plug-ins et des thèmes raisonnablement, et en maintenant et en maintenant régulièrement, le coût de WordPress peut être efficacement contrôlé et optimisé.

La version principale de WordPress est gratuite, mais d'autres frais peuvent être engagés pendant l'utilisation. 1. Les noms de domaine et les services d'hébergement nécessitent un paiement. 2. Des thèmes et des plug-ins avancés peuvent être facturés. 3. Les services professionnels et les fonctionnalités avancées peuvent être facturés.

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.

Les gens choisissent d'utiliser WordPress en raison de son pouvoir et de sa flexibilité. 1) WordPress est un CMS open source avec une forte facilité d'utilisation et une évolutivité, adaptée à divers besoins en site Web. 2) Il a des thèmes et des plugins riches, un énorme écosystème et un fort soutien communautaire. 3) Le principe de travail de WordPress est basé sur des thèmes, des plug-ins et des fonctions de base, et utilise PHP et MySQL pour traiter les données, et prend en charge l'optimisation des performances.


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

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

Dreamweaver CS6
Outils de développement Web visuel

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code