これを行う私のコードでは、現在のカテゴリに投稿している著者をリストしています。しかしget_avatar関数は正しく動作しません。単純なローカルアバタープラグインを使用しています。 author.phpは問題ありません。しかし、私がこのコードを使用すると、同じで間違った作者の写真が表示されます(私の最新の作者の写真。 あなたはこの写真を見ることができます )
私のコード:
<?php if (is_category()) {
$current_category = single_cat_title(“”, false);
$author_array = array();
$args = array(
'numberposts' => -1,
'category_name' => $current_category,
'orderby' => 'author',
'order' => 'ASC'
);
$cat_posts = get_posts($args);
foreach ($cat_posts as $cat_post) :
if (!in_array($cat_post->post_author,$author_array)) {
$author_array[] = $cat_post->post_author;
}
endforeach;
foreach ($author_array as $author) :
$auth = get_userdata($author)->display_name;
$autid= get_userdata($author)->ID;
echo get_avatar( get_the_author_email(), '32' );
echo "<a href='?author=";
echo $autid;
echo "'>";
echo $auth;
echo "</a>";
echo "<br />";
endforeach;
}?>
ここで著者IDを引きます。
$autid= get_userdata($author)->ID;
それでは、アバターを次の行に載せるためにそれを使用しないのはなぜですか?
echo get_avatar( get_the_author_email(), '32' );
get_avatar
はパラメータとしてIDを受け入れます。代わりにこれを試してください:
echo get_avatar( $autid, '32' );
get_the-author_email
はいずれにせよ推奨されていません。