1

我想在循环外的存档和作者页面上显示作者角色我找到了这段代码,它在循环中运行良好 在 Wordpress 中获取作者的角色

但是当我将此添加到存档和作者页面时,它会给我一个警告消息,称为

Warning: array_shift() expects parameter 1 to be array, null given in

如何解决这个问题?

4

1 回答 1

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);
?>
于 2012-05-29T19:24:05.440 回答