X

Créer plusieurs modèles de recherche pour les types d’articles personnalisés

Snippets by IsItWP

Vous cherchez un moyen de créer plusieurs modèles de recherche pour les types d’articles 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 d’articles 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. Remplacez $search_refer= CUSTOM_POST_TYPE par les noms de vos types de messages. Vous devrez également modifier le chemin du modèle pour qu’il corresponde au modèle que vous souhaitez utiliser pour 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 la recherche

Ajoutez ce query_post juste au-dessus de la boucle dans les modèles de recherche que vous créez. N’oubliez pas de modifier 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 code HTML au modèle dans lequel vous souhaitez afficher le formulaire de recherche. Vous devrez changer le nom de CUSTOM_POST_TYPE pour le type de message que vous souhaitez rechercher. Vous devrez créer un nouveau formulaire pour chaque type d’article personnalisé ou utiliser un menu de sélection pour définir le type d'article.

<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>

Note : Si c’est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez vous référer à notre guide sur la façon d’ajouter correctement des extraits de code dans WordPress, afin de ne pas briser accidentellement votre site.

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

Commentaires   laisser une réponse

  1. Sally Pilkington janvier 7, 2019 à 3:09 pm

    Hi, Thanks for this tutorial.
    I’m trying to create a custom search form to place in the sidebar of my website’s blog section. I want the search form to only look within ONLY posts (standard blog posts, not a custom post type) – and to ignore any other content, eg.pages. Is it possible to adapt this method to suit what I’m trying to do?
    I’ve had a go but with no luck.
    Many thanks

    1. Hey Sally,
      Try this tutorial on how to filter post types from search results. Hope you’ll find it helpful 🙂

  2. Purr purr purrrrfect )

  3. Perfect. Thanks!

  4. Sorry for the noob question, but is there a way to take a level further and to only search a custom meta_field within the custom post type? I’ve been searching for days and this is the closest script I could find. Right now it searches the titles and content of the post, but I’ve got a ton of custom fields for the CPT and only want to the user to search specific field. Thoughts?

  5. is it possible to adapt these instructions to search a custom taxonomy instead of a custom post? Trying to return a separate search for each custom taxonomy and I’m not quite figuring it out. Thanks!

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 privacy policy, et que tous les liens sont en nofollow. N'utilisez PAS de mots-clés dans le champ du nom. Engageons une conversation personnelle et constructive.

WordPress Launch Checklist

L'ultime liste de contrôle pour le lancement de WordPress

Nous avons rassemblé 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 le gratuit !