Saya melihat bahwa adalah mungkin untuk mengurutkan permintaan pengguna dengan jumlah posting yang dimiliki setiap pengguna, tetapi apakah mungkin untuk mengecualikan pengguna dengan nol posting dari hasilnya? Di kelas Wp_User_Query ada pre_user_query
tindakan, tetapi string kueri adalah titik lemah yang sangat besar, jadi saya tidak yakin apa jenis tindakan filter yang ingin saya gunakan di sini.
wp-user-query
helgatheviking
sumber
sumber
post_count
== 0?get_posts_by_author_sql
fungsi yang menghasilkan SQL untukget_authors()
kueri. Pengguna harus memiliki posting yang dipublikasikan atau pribadi untuk dimasukkan dalam hasil. #facepalmget_authors()
hasilnya sebagai sementara ... maka saya dapat dengan mudah melewati penulis saat ini tanpa perlu melakukan kueri setiap waktu.Jawaban:
Yah saya telah datang dengan 2 solusi.
Solusi 1 - foreach loop dan verifikasi setiap pengguna
Yang ini didasarkan dari solusi @ GhostToast, tetapi dengan fungsi WordPress yang diperbarui
Solusi 2 -
pre_user_query
aksi celana mewahInilah yang saya pikirkan ketika saya memposting pertanyaan saya begitu saya menemukan
pre_user_query
tindakan diWP_User_Query
kelas. Jika Anda masukpost_count
sebagaiorderby
parameter Anda maka beberapa query SQL mewah yang saya tidak akan pernah tahu sendiri akan bergabung dengan tabel yang tepat bersama. Jadi yang saya lakukan adalah menyalin pernyataan bergabung itu dan menambahkannya ke saya sendiri. Ini akan lebih baik jika saya bisa memeriksa keberadaannya terlebih dahulu sebelum menambahkannya ... mungkin saya akan menggunakan pencocokan string di masa depan. Tetapi untuk sekarang karena saya yang mengatur permintaan, saya tahu itu belum ada dan saya belum akan mengkhawatirkannya. Jadi kodenya menjadi seperti ini:dan kemudian menggunakannya
Gagasan untuk
query_id
parameter berasal dari An Introduction to WP_User_ClassYang juga hanya referensi yang sangat bagus
WP_User_Query
sumber
Sejak 4.4, Anda cukup menggunakan parameter `has_published_posts '.
Contoh:
has_published_posts
dapat berupa true / false (atau null), atau array tipe posting (seperti dalam contoh ini).Catatan: Saya menggunakan transien di sini karena kueri khusus ini dapat menjadi sangat berat tergantung pada sistem sehingga masuk akal untuk menyimpannya untuk penggunaan di masa mendatang.
sumber
Mengirimkan sebagai jawaban untuk penutupan:
sumber
get_users_with_role()
bukan fungsi WordPress atau apakah saya sudah terlalu lama melihat komputer?"get_users_with_role": 0 matches across 0 files
. Jugaget_usernumposts
disusutkan, gunakancount_user_posts()