Tampilan Hitung Hasil Pencarian

13

Sampai sekarang saya telah menggunakan kode di bawah ini untuk mendapatkan jumlah hasil ketika seseorang mencari dan menampilkan hitungan itu.

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

Tapi ini sepertinya bukan kode yang valid. Ini menunjukkan kesalahan di bawah ini:

Sudah usang: Menetapkan nilai kembali yang baru dengan referensi sudah tidak digunakan lagi

Adakah yang bisa menyarankan cara yang tepat di mana saya mendapatkan jumlah pencarian. Kode di atas ditempatkan di judul file index.php tema saya dalam pernyataan bersyarat untuk menampilkan judul yang berbeda berdasarkan jenis halaman apa yang digunakan pengguna.

Harish Chouhan
sumber
allsearch = new WP_Querytanpa '&' untuk menghindari pemberitahuan usang.
gmazzap

Jawaban:

31

Jika Anda berada di dalam templat pencarian yaitu permintaan Pencarian adalah permintaan utama Anda. Anda kemudian bisa mendapatkan hasil pencarian dari global $wp_querytanpa menjalankan kueri tambahan.

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

Edit 1

Jika Anda harus keluar dari konteks pencarian. Anda dapat menggabungkan kedua teknik untuk mendapatkan hasil yang efisien. Itu tidak akan mengambil semua posting tetapi Anda bisa mendapatkan jumlah pencarian.

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

Kesalahan Anda

Tentang kesalahan yang Anda dapatkan, ada di sini

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

Hapus tanda "&" di samping tanda sama dengan untuk menghilangkan kesalahan. Jadi akan terlihat seperti ini

$allsearch = new WP_Query("s=$s&showposts=-1");
PAK
sumber
1
Wow terima kasih. Saya juga mencoba ini dan berhasil '<? Php / * Search Count * / $ count = $ wp_query-> post_count; echo $ count. ''; wp_reset_query (); ?> '
Harish Chouhan
Harish $ allsearch Anda = WP_Query baru ("s = $ s & showposts = 0"); echo $ allsearch -> found_posts. ' hasil ditemukan. '; hanya akan menampilkan jumlah halaman saat ini, bukan total. Misalnya hanya 10 jika ada 20 posting juga.
Suyash Jain