get_posts の引数で、post_typeを設定してあげればよいと思います。
get_posts の引数については公式ドキュメントを参照してください。
http://wpdocs.sourceforge.jp/テンプレートタグ/get_posts
回答ありがとうございます。
get posts の引数にpost_type(staffcolumn)を設定してみたのですが、
うまくいきません。
箇所が間違っていますでしょうか?
<?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 (
array(
'author'=> $user->ID,
'post_type' => 'staffcolumn'));
$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;
?>
初歩的なことで申し訳ございませんm(_ _)m
ひとまず、↓のコードで試してもらえますか?
foreach ($users as $user) :
$my_posts = get_posts (
array(
'author'=> $user->ID,
'post_type' => 'staffcolumn'));
$n = count($my_posts);
echo $n;
endforeach;
get_posts のところがおかしいのか、それとも、以後の表示させる部分でおかしいのか、のチェックです。
Fumito MIZUNO 様
ありがとうございます!
上記のコードで試してみて、すべて5と表示されていて、
5以上が表示されなかったので、調べたところ、
‘posts_per_page’ => -1, //全件表示
をget_postsに追加することで無事表示されるようになりました!m(_ _)m
ありがとうございます!!
<?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 (
array(
'author'=> $user->ID,
'posts_per_page' => -1,
'post_type' => 'staffcolumn'));
$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;
?>
ですが、現状、並び順がpostの投稿が多い人順になっております。
post_type(staffcolumn)の投稿数が多い人順に並べるには、どこで設定すればいいでしょうか?
$args の
‘orderby’ => ‘post_count’,
‘order’ => ‘DESC’,
を消してみたり、
$my_posts 、$n 、の引数に追加してみたのですが、うまくいきません。
何度も恐れ入りますが、よろしくお願いいたしますm(_ _)m
Fumito MIZUNO 様
返信ありがとうございます。
リンク先拝見しました。
やはり、簡単にはできそうにないですね。
私の知識では難しそうなので、
並び替えは今後の課題としたいと思います。
丁寧に教えていただきありがとうございました
ほんとうに助かりましたm(_ _)m