En este tutorial compartiremos cómo puedes agregar una función simple a tu página de búsqueda que mostrará el término de búsqueda y el número de resultados. Esta característica fue una solicitud especial de uno de nuestros usuarios por correo electrónico. Si deseas que cubramos un tema, no dudes en hacer una sugerencia.

Abre tu archivo search.php en tu tema y agrega el siguiente código:
<h2 class="pagetitle">Search Result for <?php /* Search Count */ $allsearch = new WP_Query("s=$s&showposts=-1"); $key = wp_specialchars($s, 1); $count = $allsearch->post_count; _e(''); _e('<span class="search-terms">'); echo $key; _e('</span>'); _e(' — '); echo $count . ' '; _e('articles'); wp_reset_query(); ?></h2>
El código anterior mostrará algo como esto:
Búsqueda de twitter — 15 artículos
También puedes resaltar el término de búsqueda agregando la clase CSS .search-terms a la hoja de estilos de tu tema. Aquí tienes un CSS simple para empezar:
.search-terms {
background-color:yellow;
color:blue;
}
Esto es solo una de las cosas geniales que puedes hacer para tu página de búsqueda al personalizarla. También puedes resaltar los términos de búsqueda en los resultados, e incluso agregar una función de búsqueda por categoría a tu búsqueda de WordPress.
Fuente: Michael Martin


Aniruddh
¿Puedo usar este código en el archivo sidebar.php? Ya que necesito mostrar el término de búsqueda y el recuento de resultados en la barra lateral. Por favor, ayuda.
Marco
thanks a lot for this snippet!
según el codex de wp, la función wp_specialchars está obsoleta. dice que debes usar esc_html en su lugar.
saludos,
marco
Marco
La próxima vez miraré de cerca los comentarios. CHADHAYTON ya publicó un enlace sobre cómo puedes manejarlo ahora.
Henry
echo $wp_query->found_posts;
Al agregar esto al principio de tu página de búsqueda, se mostrará el número de publicaciones encontradas para una búsqueda en particular.
echo get_search_query();
Esto mostrará el término de búsqueda (ingresado en el cuadro de búsqueda por el visitante de tu sitio).
timer_stop(1);
Esto mostrará el tiempo que tardó en ejecutarse la búsqueda.
En conjunto, podrías mostrar algo como:
Tu búsqueda de “café en grano” arrojó “16” publicaciones en “0.87” segundos.
jameslhf
Thank you Henry, that helped me!
Prasanna
Gracias Henry. Esto me ayudó mucho.
chadhayton
Es difícil saber la antigüedad de esta publicación, pero WordPress 3.1 incluye una forma de obtener el total de resultados de búsqueda que no requiere una consulta separada:
http://codex.wordpress.org/Creating_a_Search_Page#Display_Total_Results
Chris Murphy
Vaya. Es mucho más simple que eso contar los resultados de búsqueda de WordPress, aquí:
global $wp_query; $count = sizeof( $wp_query->posts ); echo"<pre>"; //var_dump($wp_query);// The WP Query Object var_dump($wp_query->posts); // The WP Query Object's 'posts' property (note the plural) echo"</pre>";Si colocas ese fragmento en tu plantilla de búsqueda, mostrará las propiedades de la variable ‘$wp_query’, específicamente la propiedad ‘posts’ del objeto. Este es un arreglo que almacena una colección de las publicaciones devueltas por la consulta de búsqueda, con las cuales puedes hacer varias cosas una vez que las accedes, incluyendo (*redoble de tambores*), *contar* el número de publicaciones en ese arreglo usando la función ‘count()’ o ‘sizeof()’ de PHP.
Personal editorial
Tu código está un poco cortado. ¿Hay alguna forma de que nos envíes el fragmento por correo electrónico y podamos probarlo y escribir sobre él? Obviamente, se te dará el crédito completo.
Administrador
Ilya
Chris,
Esto no funcionará. El punto es averiguar el número total de resultados que coinciden con la consulta, no el número obtenido actualmente. Si hay más resultados de los que caben en una página, tu código solo obtendrá el número de elementos en una página.
pete
Los resultados de búsqueda son algo personal para un usuario, así que es bueno si se les da mucha información.
basilakis
So the code is right or not?
I see Konstantin has some point about the query, but the comments “ate” the results!
Personal editorial
Este código es correcto. Funciona, el único problema que señala es que también se puede hacer de otra manera. Hemos utilizado este código en el sitio web de un cliente y funciona.
Administrador
Konstantin
Buena idea. Mala ejecución.
¿Por qué demonios querrías traducir una etiqueta span???
Y mi favorita:
_e('');¿¿Eh??¿Por qué querrías consultar la misma búsqueda dos veces?
No tiene ningún sentido.
Pero no quiero odiar, así es como debería hacerse (en mi humilde opinión):
post_count); ?>
Tom
Realmente no le doy suficiente importancia a la búsqueda en mi página. Algo como esto es genial porque hace que la página sea más personalizada.