ブログ記事は投稿(post)を使っているという前提です。
<?php
$args = array(
'orderby' => 'post_count',
'order' => 'DESC',
);
$users = get_users($args);
if (!empty($users)) :
echo '<ul>';
foreach ($users as $user) :
$my_posts = get_posts('author='.$user->ID);
$n = count($my_posts);
?>
<li>
<?php echo get_avatar( $user->ID, $size = '60'); ?>
<a href="<?php echo get_author_posts_url( $user->ID); ?>"><?php echo esc_html($user->display_name); ?></a>(<?php echo $n; ?>)
<div class = "clear-left"></div>
</li>
<?php
endforeach;
echo '</ul>';
endif;
?>
$my_posts = get_posts(‘author=’.$user->ID);
↓ ↓ ↓ ↓
$my_posts = get_posts(‘numberposts=-1&author=’.$user->ID);
あんまり良い方法ではない気がしてきました。
投稿数を取得する便利な関数がありました。
$my_posts = get_posts('author='.$user->ID);
$n = count($my_posts);
↓↓↓↓
$n = get_usernumposts($user->ID);
有難うございます!思っていた動作を実現出来ました!
色々検索していたのですが、方法が見つからなかったので本当に助かりました!
あと、可能であれば、このリストから管理者を除外する方法があったら教えていただけますでしょうか?
どうぞよろしくお願いいたします。
get_users() のパラメータに以下を追加します。
'exclude' => array(1),
管理者が複数なら、複数のユーザーID を並べます。
'exclude' => array(1,10,11),
とか。ということが、
http://codex.wordpress.org/Function_Reference/get_users
に書かれています。確認はしていません。
また、
$n = get_usernumposts($user->ID);
は非推奨になっていたので、
$n = count_user_posts($user->ID);
としてください。
phpの使い方から調べたので、お返事に時間がかかりましたが、教えていただいた内容で
全て実現出来ました!
有難うございました!