我想在归档和作者页面外显示作者角色我发现这个代码,它在循环中工作正常 Getting an author's role in Wordpress
但是当我将它添加到存档和作者页面时,它会给我一个名为
的警告消息Warning: array_shift() expects parameter 1 to be array, null given in
如何解决这个问题?
答案 0 :(得分:2)
这些示例使用了我在 COMPLETE ANSWER Here中提供的功能。在你的functions.php文件中:
function get_user_role($id)
{
$user = new WP_User($id);
return array_shift($user->roles);
}
在您的存档页面中:
if(have_posts()) : while(have_posts()) : the_post();
$aid = $post->post_author;
echo get_the_author_meta('user_nicename', $aid).' | '.get_user_role($aid);
endwhile;endif;
对于您的作者模板,Wordpress Codex on Author Templates有很多有用的信息。你可以这样做:
<?php
$curauth = (get_query_var('author_name')) ? get_user_by('slug', get_query_var('author_name')) : get_userdata(get_query_var('author'));
echo $curauth->user_nicename.' | '.get_user_role($curauth->ID);
?>