Показать результаты поиска

13

До сих пор я использовал приведенный ниже код для получения количества результатов при поиске и отображения этого количества.

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

Но это не похоже на действительный код. Это показывает ниже ошибку:

Устаревший: Назначение возвращаемого значения нового по ссылке не рекомендуется

Может кто-нибудь, пожалуйста, предложите правильный способ, которым я получаю счет поиска. Приведенный выше код помещен в заголовок моего файла темы index.php в условном выражении, чтобы отображать различные заголовки в зависимости от типа страницы, на которой находится пользователь.

Хариш Чухан
источник
allsearch = new WP_Queryбез '&', чтобы избежать устаревшего уведомления.
gmazzap

Ответы:

31

Если вы находитесь в шаблоне поиска, то есть поисковый запрос является вашим основным запросом. После этого вы сможете получить глобальные результаты поиска $wp_queryбез выполнения дополнительного запроса.

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

Редактировать 1

Если вам нужно вывести счет из контекста поиска. Вы можете комбинировать обе техники, чтобы получить эффективный результат. Он не будет получать все сообщения, но вы можете получить количество запросов.

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

Ваша ошибка

Об ошибке, которую вы получаете, она лежит здесь

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

Удалите «&» рядом со знаком равенства, чтобы избавиться от ошибки. Так это будет выглядеть так

$allsearch = new WP_Query("s=$s&showposts=-1");
Г-Н
источник
1
Вау, спасибо. Я также попробовал это, и это сработало '<? Php / * Search Count * / $ count = $ wp_query-> post_count; echo $ count. ''; wp_reset_query (); ?> '
Хариш Чухан
Harish your $ allsearch = new WP_Query ("s = $ s & showposts = 0"); echo $ allsearch -> found_posts. ' найдены результаты. '; будет отображать только текущее количество страниц, а не общее. Например, это будет только 10, если есть также 20 постов.
Суяш Джайн