Mostrar recuento de resultados de búsqueda

11

Hasta ahora he estado usando el siguiente código para obtener el número de resultados cuando alguien busca y mostrar ese recuento.

<?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 el siguiente error:

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

¿Alguien puede sugerir la manera correcta de obtener 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 un encabezado diferente según el tipo de página en la que se encuentre el usuario.

    
pregunta Harish Chouhan 03.08.2013 - 17:52

1 respuesta

23

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

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

Editar 1

Si tienes que salir del contexto de búsqueda. Puedes combinar ambas técnicas para obtener un resultado eficiente. No buscará 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.';

Tu error

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

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

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

$allsearch = new WP_Query("s=$s&showposts=-1");
    
respondido por el M-R 03.08.2013 - 17:59

Lea otras preguntas en las etiquetas