Exibir contagem de resultados de pesquisa


13

Até agora, eu estava usando o código abaixo para obter o número de resultados quando alguém pesquisa e para exibir 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 um código válido. Mostra abaixo o erro:

Descontinuado: a atribuição do valor de retorno de novo por referência está descontinuada

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


allsearch = new WP_Querysem '&' para evitar aviso obsoleto.
gmazzap

Respostas:


31

Se você estiver dentro do modelo de pesquisa, ou seja, a consulta de pesquisa é sua consulta principal. Em seguida, você poderá obter resultados globais da pesquisa $wp_querysem executar uma consulta adicional.

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

Editar 1

Se você precisar obter a contagem fora do contexto de pesquisa. Você pode combinar as duas técnicas para obter resultados eficientes. Ele não buscará toda a postagem, mas você poderá obter a contagem de pesquisas.

$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");

1
Uau, obrigado. Eu também tentei isso e funcionou '<? Php / * Contagem de pesquisa * / $ count = $ wp_query-> post_count; eco $ count. ''; wp_reset_query (); ?>'
Harish Chouhan

Aproveite sua $ allsearch = new WP_Query ("s = $ s & showposts = 0"); echo $ allsearch -> found_posts. ' resultados encontrados.'; exibirá apenas a contagem de páginas atual e não o total. Por exemplo, ele deve apenas 10 se houver 20 postagens também.
Suyash Jain 28/05
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.