X

Créer plusieurs modèles de recherche pour les types de publication personnalisés

Extraits par IsItWP

Vous cherchez un moyen de créer plusieurs modèles de recherche pour les types de publication personnalisés ? Bien qu'il existe probablement un plugin pour cela, nous avons créé un extrait de code rapide que vous pouvez utiliser pour créer plusieurs modèles de recherche pour les types de publication personnalisés dans WordPress.

Instructions :

Modèle de recherche

Créez un nouveau fichier appelé search.php et ajoutez le modèle de recherche suivant. Changez le $search_refer= CUSTOM_POST_TYPE par les noms de vos types de publication. Vous devrez également modifier le chemin du modèle pour le modèle correspondant que vous souhaitez afficher les résultats.

<?
/* Template Name: Search Results */

$search_refer = $_GET["post_type"];
if ($search_refer == 'CUSTOM_POST_TYPE') { load_template(TEMPLATEPATH . '/template_one-name.php'); }
elseif ($search_refer == 'CUSTOM_POST_TYPE') { load_template(TEMPLATEPATH . '/template_two-name.php'); };

?>

Afficher les résultats de recherche

Ajoutez cette query_post juste au-dessus de la boucle dans les modèles de recherche que vous créez. N'oubliez pas de changer le CUSTOM_POST_TYPE pour chacun de vos modèles.

<?php 
	$args = array(
		'post_type'=> 'CUSTOM_POST_TYPE',
                's'    => $s,
                'paged' => $paged,
                );
		query_posts($args);
?>

Formulaire de recherche

Ajoutez ce HTML au modèle que vous souhaitez afficher le formulaire de recherche. Vous devrez changer le nom CUSTOM_POST_TYPE pour le type de publication que vous souhaitez rechercher. Vous devrez créer un nouveau formulaire pour chaque type de publication personnalisé ou utiliser un menu déroulant pour définir le post_type.

<form id="searchform" action="<?php bloginfo('home'); ?>/" method="get">
	<input id="s" maxlength="150" name="s" size="20" type="text" value="" class="txt" />
	<input name="post_type" type="hidden" value="CUSTOM_POST_TYPE" />
	<input id="searchsubmit" class="btn" type="submit" value="Search" />
</form>

Remarque : Si c'est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la manière d'ajouter correctement des extraits de code dans WordPress, afin de ne pas endommager accidentellement votre site.

Si vous avez aimé cet extrait de code, n'hésitez pas à consulter nos autres articles sur le site tels que : 43 meilleurs thèmes de photographie pour WordPress et comment créer un formulaire de contact dans WordPress.

Commentaires   Laisser une réponse

  1. Sally Pilkington January 7, 2019 at 3:09 pm

    Bonjour, merci pour ce tutoriel.
    J'essaie de créer un formulaire de recherche personnalisé à placer dans la barre latérale de la section blog de mon site web. Je veux que le formulaire de recherche ne recherche que dans les articles (articles de blog standard, pas un type d'article personnalisé) – et qu'il ignore tout autre contenu, par exemple les pages. Est-il possible d'adapter cette méthode à ce que j'essaie de faire ?
    J'ai essayé mais sans succès.
    Merci beaucoup

    1. Salut Sally,
      Essaie ce tutoriel sur comment filtrer les types de publication des résultats de recherche. J'espère que tu le trouveras utile 🙂

  2. Ronron ronron ronronronron parfait )

  3. Pitico Medtler July 3, 2015 at 2:16 pm

    Parfait. Merci !

  4. Désolé pour la question de débutant, mais y a-t-il un moyen d'aller plus loin et de ne rechercher que dans un meta_field personnalisé au sein du type de publication personnalisé ? J'ai cherché pendant des jours et c'est le script le plus proche que j'ai pu trouver. Actuellement, il recherche les titres et le contenu de la publication, mais j'ai une tonne de champs personnalisés pour le CPT et je veux seulement que l'utilisateur recherche un champ spécifique. Des idées ?

  5. est-il possible d'adapter ces instructions pour rechercher une taxonomie personnalisée au lieu d'une publication personnalisée ? J'essaie de retourner une recherche distincte pour chaque taxonomie personnalisée et je ne parviens pas tout à fait à comprendre. Merci !

Ajouter un commentaire

Nous sommes heureux que vous ayez choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de confidentialité, et tous les liens sont nofollow. N'utilisez PAS de mots-clés dans le champ nom. Ayons une conversation personnelle et significative.

Liste de contrôle de lancement WordPress

La checklist ultime pour lancer un WordPress

Nous avons compilé tous les éléments essentiels de la liste de contrôle pour le lancement de votre prochain site Web WordPress dans un ebook pratique.
Oui, envoyez-moi l'eBook gratuit !