Yang ingin saya lakukan adalah memiliki daftar pengguna yang telah berkontribusi setidaknya satu posting.
Saya perlu menunjukkan yang berikut:
[Foto pengguna] | [Nama Pengguna] | [Jumlah posting pengguna]
misalnya
[foto] Joe Bloggs (8)
Saya memulai dan melewati rute ini:
<?php
$blogusers = get_users( 'orderby=post_count' );
foreach ( $blogusers as $user ) {
echo '<li>' . esc_html( $user->display_name ) . '</li>';
}
?>
Namun, ini sepertinya mengembalikan semua pengguna yang terdaftar ke blog daripada mereka yang telah berkontribusi jadi saya tentu tidak melakukannya dengan benar.
Saya baru mengenal wordpress dan PHP sehingga semua bantuan akan dihargai.
posts
count
post-status
users
steakpi
sumber
sumber
Jawaban:
Anda perlu mengatur
who
parameterget_users
EDIT
Sepertinya saya harus menjawab cepat. Kode dalam pertanyaan Anda dan jawaban saya adalah awal dari apa yang ingin Anda capai.
Saya tidak punya waktu untuk kode sekarang, untuk menonton rugby, tapi di sini adalah kode lengkap yang digunakan dalam dua belas empat belas untuk menampilkan penulis dan jumlah posting mereka. Semoga ini membantu
Sebut saja dalam file template Anda sebagai
sumber
count_many_users_posts()
fungsi harus digunakan untuk efisiensi, saat menghitung untuk beberapa pengguna.Tidak ada cara default di WordPress untuk melakukan tugas ini, seperti yang Pieter Goosen tunjukkan, ada argumen
who
untukget_users()
yang mengembalikan pengguna yang dapat memposting, bukan pengguna yang telah memposting.Namun, Anda dapat menggunakan
'pre_user_query'
untuk menambahkanJOIN
klausa SQL untuk hanya mendapatkan pengguna yang memiliki setidaknya satu posting.Sejujurnya, ketika Anda meminta pengguna memesannya dengan jumlah posting, bergabung sudah dibuat oleh WordPress, tetapi menggunakan
OUTER LEFT JOIN
, sehingga bahkan pengguna tanpa posting dikembalikan, jadi satu-satunya hal yang Anda butuhkan adalah menggantiOUTER LEFT JOIN
keINNER JOIN
sumber
Sejak versi
4.3.0
, Anda sekarang dapat menentukan parameterhas_published_posts
untukget_users();
panggilan fungsi.Contoh
Sumber daya
sumber