Exibir contagem de resultados da pesquisa

11

Até agora, tenho usado o código abaixo para obter o número de resultados quando alguém pesquisa e exibe essa contagem.

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

Mas isso não parece ser um código válido. Mostra abaixo o erro:

Depreciado: Atribuir o valor de retorno de novo por referência é obsoleto

Alguém pode sugerir a maneira correta de obter a contagem de pesquisa. O código acima é colocado no título do meu arquivo index.php de um tema dentro de uma instrução condicional para exibir um cabeçalho diferente com base no tipo de página em que o usuário está.

    
por Harish Chouhan 03.08.2013 / 17:52

1 resposta

23

Se você estiver no modelo de pesquisa, por exemplo, a consulta de pesquisa é sua consulta principal. Você deve conseguir obter resultados de pesquisa do $wp_query global sem executar uma consulta adicional.

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

Editar 1

Se você precisar obter uma contagem fora do contexto de pesquisa. Você pode combinar as duas técnicas para obter um resultado eficiente. Ele não vai buscar todo o post, mas você pode obter a contagem de pesquisa.

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

Seu erro

Sobre o erro que você está recebendo, está aqui

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

Remova o "&" ao lado do sinal de igual para se livrar do erro. Então vai ficar assim

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