una tag personalizado name galerías formulario entrada cómo crear con busqueda buscador all php wordpress search

php - personalizado - get all tags wordpress



¿Cómo mostrar resultados de búsqueda de Wordpress? (4)

Pasé mucho tiempo averiguando por qué mi búsqueda no funciona en mi plantilla personalizada. Hasta ahora pude averiguar cómo incluir el archivo searchform.php en mi encabezado, creó el archivo search.php que está actualmente vacío (por lo que en el momento en que busco algo me redirigen a una página en blanco y creo que definitivamente necesita algo en el archivo search.php para hacerlo funcionar), estaba leyendo todo el codex de Wordpress pero no pude encontrar una solución, solo la información útil que encontré fue esta.

http://codex.wordpress.org/Creating_a_Search_Page

¿Puede sugerir qué necesidad hay que hacer para mostrar los resultados de una búsqueda? ¿Hay una consulta especial, función, etc.? Realmente no puedo encontrarlo en ningún lado.

mi archivo searchform.php en caso de que lo necesite.

<form action="<?php echo home_url(); ?>" id="search-form" method="get"> <input type="text" name="s" id="s" value="type your search" onblur="if(this.value=='''')this.value=''type your search''" onfocus="if(this.value==''type your search'')this.value=''''" /> <input type="hidden" value="submit" /> </form>


Básicamente, debe incluir el bucle de Wordpress en su plantilla search.php para recorrer los resultados de búsqueda y mostrarlos como parte de la plantilla.

A continuación se muestra un ejemplo muy básico de The WordPress Theme Search Template y Page Template en ThemeShaper.

<?php /** * The template for displaying Search Results pages. * * @package Shape * @since Shape 1.0 */ get_header(); ?> <section id="primary" class="content-area"> <div id="content" class="site-content" role="main"> <?php if ( have_posts() ) : ?> <header class="page-header"> <h1 class="page-title"><?php printf( __( ''Search Results for: %s'', ''shape'' ), ''<span>'' . get_search_query() . ''</span>'' ); ?></h1> </header><!-- .page-header --> <?php shape_content_nav( ''nav-above'' ); ?> <?php /* Start the Loop */ ?> <?php while ( have_posts() ) : the_post(); ?> <?php get_template_part( ''content'', ''search'' ); ?> <?php endwhile; ?> <?php shape_content_nav( ''nav-below'' ); ?> <?php else : ?> <?php get_template_part( ''no-results'', ''search'' ); ?> <?php endif; ?> </div><!-- #content .site-content --> </section><!-- #primary .content-area --> <?php get_sidebar(); ?> <?php get_footer(); ?>


Compruebe si su plantilla en la carpeta de theme contiene search.php y searchform.php o no.


Estoy usando los archivos searchform.php y search.php como ya se mencionó, pero aquí proporciono el código real.

http://codex.wordpress.org/Creating_a_Search_Page página de #Creating_a_Search_Page_Template la página de búsqueda ayuda aquí y #Creating_a_Search_Page_Template muestra la consulta de búsqueda.

En mi caso, $search_query argumentos $search_query a la Class WP_Query (que puede determinar si es una consulta de búsqueda). Luego ejecuto The Loop para mostrar la información de la publicación que quiero, que en mi caso es the_permalink y the_title .

Formulario de cuadro de búsqueda:

<form class="search" method="get" action="<?php echo home_url(); ?>" role="search"> <input type="search" class="search-field" placeholder="<?php echo esc_attr_x( ''Search …'', ''placeholder'' ) ?>" value="<?php echo get_search_query() ?>" name="s" title="<?php echo esc_attr_x( ''Search for:'', ''label'' ) ?>" /> <button type="submit" role="button" class="btn btn-default right"/><span class="glyphicon glyphicon-search white"></span></button> </form>

archivo de plantilla search.php :

<?php global $query_string; $query_args = explode("&", $query_string); $search_query = array(); foreach($query_args as $key => $string) { $query_split = explode("=", $string); $search_query[$query_split[0]] = urldecode($query_split[1]); } // foreach $the_query = new WP_Query($search_query); if ( $the_query->have_posts() ) : ?> <!-- the loop --> <ul> <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <li> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </li> <?php endwhile; ?> </ul> <!-- end of the loop --> <?php wp_reset_postdata(); ?> <?php else : ?> <p><?php _e( ''Sorry, no posts matched your criteria.'' ); ?></p> <?php endif; ?>


necesita incluir el bucle de Wordpress en su search.php esto es un ejemplo

archivo de plantilla search.php :

<?php get_header(); ?> <?php $s=get_search_query(); $args = array( ''s'' =>$s ); // The Query $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) { _e("<h2 style=''font-weight:bold;color:#000''>Search Results for: ".get_query_var(''s'')."</h2>"); while ( $the_query->have_posts() ) { $the_query->the_post(); ?> <li> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </li> <?php } }else{ ?> <h2 style=''font-weight:bold;color:#000''>Nothing Found</h2> <div class="alert alert-info"> <p>Sorry, but nothing matched your search criteria. Please try again with some different keywords.</p> </div> <?php } ?> <?php get_sidebar(); ?> <?php get_footer(); ?>