我的代码执行此操作,列出了当前类别中发布的作者。但是get\\u avatar功能无法正常工作。Im使用简单的本地化身插件。它是工作作者。php没有任何问题。但当我使用它我的这段代码时,它列出了相同和错误的作者图片(我的最新作者图片)。You can look this picture)
我的代码:
<?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;
}?>
最合适的回答,由SO网友:s_ha_dum 整理而成
您可以在此处提取作者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
无论如何都不推荐使用,所以即使它有效,也不应该使用它。