在我的wordpress网站上,有一个评论模板,我在其中做了一些我想要的更改,但我遇到了问题。
注意:我使用的是User Role Editor插件。
我想在每条评论中的用户名旁边显示用户角色。
我的代码:
function get_the_author_role() {
global $wpdb, $wp_roles, $authordata;
if ( !isset($wp_roles) )
$wp_roles = new WP_Roles();
foreach($wp_roles->role_names as $role => $Role) {
$caps = $wpdb->prefix . 'capabilities';
if (array_key_exists($role, $authordata->$caps))
return $Role;
}
}
/**
* Echo the account role of the author of the current post in the Loop.
* @see get_the_author_role()
* @return null
*/
function the_author_role() {
echo get_the_author_role();
}
我将此代码添加到function.php中,但它没有用。
这是我的comment-template.php部分:
<?php printf( __( ' <cite class="user" ><font size="5.5" color=red > %s </font></cite> <span class="user"> </span>' ), get_comment_author_link() ); ?>
[ ]
<?php if ( '0' == $comment->comment_approved ) : ?>
用户可以扮演任何角色,即管理员,编辑,作者,订阅者或其他任何角色,但应该打印用户的角色。
我希望它看起来像图片,用户角色放在方括号中。
答案 0 :(得分:5)
您可以使用:
//get the commented user id
$user_id = get_comment(get_comment_ID())->user_id;
if ($user_id)
{
$user_info = get_userdata($user_id );
echo implode(', ', $user_info->roles) ;
}
希望这会有所帮助: - )