我使用的是管理角色和2个自定义角色。关于作者。php我希望能够放置该用户的角色。
我用这个在文本中引出角色
$curauth = $wp_query->get_queried_object();
$user_id = $curauth->ID;
$user = new WP_User( $user_id );
if ( !empty( $user->roles ) && is_array( $user->roles ) ) {
foreach ( $user->roles as $role )
echo $role;
}
我想把它放到
if (current_user_can(\'buyer\')) {
get_template_part( \'buyer\', \'edit\' ); }
else if (current_user_can(\'courier\')) {
get_template_part( \'courier\', \'edit\' ); }
else if (current_user_can(\'banned\')) {
get_template_part( \'account\', \'banned\' ); }
else if (is_user_logged_in()) {
get_template_part( \'account\', \'error\' );
} else { }
对于当前用户,我需要使其对作者用户起作用。
最合适的回答,由SO网友:funwhilelost 整理而成
作为“current\\u user\\u can”WordPress提供的替代方案user_can“它将用户对象或ID作为参数。将顶部代码和底部代码与新函数相结合,它将如下所示:
$author_user = $wp_query->get_queried_object(); // the queried object in \'author.php\' should be an author user
if (user_can($author_user, \'buyer\')) {
get_template_part( \'buyer\', \'edit\' );
} else if (user_can($author_user, \'courier\')) {
get_template_part( \'courier\', \'edit\' );
} else if (user_can($author_user, \'banned\')) {
get_template_part( \'account\', \'banned\' );
} else {
// etc...
}