Mostrar recuento de resultados de búsqueda

13

Hasta ahora he estado usando el siguiente código para obtener la cantidad de resultados cuando alguien busca y para mostrar ese conteo.

<?php /* Search Count */ $allsearch =& new WP_Query("s=$s&showposts=-1"); $count = $allsearch->post_count; echo $count . ' '; wp_reset_query(); ?>

Pero esto no parece un código válido. Se muestra a continuación el error:

En desuso: la asignación del valor de retorno de nuevo por referencia está en desuso

¿Alguien puede sugerirme la forma correcta en que obtengo el recuento de búsquedas? El código anterior se coloca en el encabezado de mi archivo index.php del tema dentro de una declaración condicional para mostrar diferentes encabezados en función del tipo de página en la que se encuentra un usuario.

Harish Chouhan
fuente
allsearch = new WP_Querysin '&' para evitar avisos obsoletos.
gmazzap

Respuestas:

31

Si está dentro de la plantilla de búsqueda, es decir, la consulta de búsqueda es su consulta principal. Entonces debería poder obtener resultados de búsqueda de global $wp_querysin ejecutar una consulta adicional.

global $wp_query;
echo $wp_query->found_posts.' results found.';

Editar 1

Si tiene que contar fuera del contexto de búsqueda. Puede combinar ambas técnicas para obtener un resultado eficiente. No obtendrá todas las publicaciones, pero puede obtener el recuento de búsquedas.

$allsearch = new WP_Query("s=$s&showposts=0"); 
echo $allsearch ->found_posts.' results found.';

Su error

Sobre el error que está recibiendo, se encuentra aquí

$allsearch =& new WP_Query("s=$s&showposts=-1");

Elimine el "&" al lado del signo igual para deshacerse del error. Entonces se verá así

$allsearch = new WP_Query("s=$s&showposts=-1");
SEÑOR
fuente
1
Wow gracias. También probé esto y funcionó '<? Php / * Search Count * / $ count = $ wp_query-> post_count; echo $ cuenta. ''; wp_reset_query (); ?> '
Harish Chouhan
Aproveche su $ allsearch = new WP_Query ("s = $ s & showposts = 0"); echo $ allsearch -> found_posts '. resultados encontrados.'; solo mostrará el recuento de páginas actual, no el total. Por ejemplo, solo debería ser 10 si hay 20 publicaciones también.
Suyash Jain