X

Crear múltiples plantillas de búsqueda para tipos de entradas personalizadas

Snippets by IsItWP

¿Estás buscando una manera de crear múltiples plantillas de búsqueda para tipos de entradas personalizadas? Si bien es probable que haya un plugin para esto, hemos creado un fragmento de código rápido que puede utilizar para crear múltiples plantillas de búsqueda para tipos de entradas personalizadas en WordPress.

Instrucciones:

Plantilla de búsqueda

Crea un nuevo archivo llamado search.php y añade la siguiente plantilla de búsqueda. Cambie $search_refer= CUSTOM_POST_TYPE por los nombres de sus tipos de entrada. También tendrá que cambiar la ruta de la plantilla a la plantilla correspondiente que desea mostrar los resultados.

<?
/* 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'); };

?>

Mostrar resultados de búsqueda

Añade este query_post justo encima del bucle en las plantillas de búsqueda que crees. No olvide cambiar el CUSTOM_POST_TYPE para cada una de sus plantillas.

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

Formulario de búsqueda

Añada este HTML a la plantilla en la que desea mostrar el formulario de búsqueda. Deberá cambiar el nombre CUSTOM_POST_TYPE por el tipo de entrada que desea buscar. Tendrá que crear un nuevo formulario para cada tipo de entrada personalizada o utilizar un menú de selección para establecer el 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>

Nota: Si es la primera vez que añade fragmentos de código en WordPress, consulte nuestra guía sobre cómo añadir correctamente fragmentos de código en WordPress, para no romper accidentalmente su sitio.

Si te ha gustado este fragmento de código, por favor, considere revisar nuestros otros artículos en el sitio como: 43 mejores temas de fotografía para WordPress y cómo crear un formulario de contacto en WordPress.

Comentarios   Deja una respuesta

  1. Sally Pilkington enero 7, 2019 en 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. Shahzad Saeed enero 8, 2019 en 7:31 am

      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. Pitico Medtler julio 3, 2015 en 2:16 pm

    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!

Añadir un comentario Cancelar respuesta

Nos alegra que haya decidido dejar un comentario. Tenga en cuenta que todos los comentarios se moderan de acuerdo con nuestra política de privacidad , y que todos los enlaces son nofollow. NO utilice palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.

WordPress Launch Checklist

La lista definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de comprobación para el lanzamiento de su próximo sitio web de WordPress en un práctico ebook.
Sí, envíeme el ¡gratuito!