检查用户名的角色,如果是管理员,则回显某些内容

时间:2018-02-15 作者:Kevin W.

我一直在做的事情让我感到困惑,非常感谢您能提供的任何帮助。

以下代码是作业通知上要显示的元素。它目前有用户的头像、用户名、创建日期和评论。用户和管理员(同事)都可以使用注释。如果评论的用户名为Administrator,则在其旁边显示“-expert”。但是,如果注释的用户名不是管理员角色,则不会在其旁边显示任何内容。

<?php ?><div itemscope itemtype="https://schema.org/Comment">
<div class="gv-note-author-details" itemscope itemtype="https://schema.org/Person">
    <div class="gv-note-avatar" itemprop="image">{avatar}</div>
    <h6 class="gv-note-author" itemprop="name">{user_name} <?php if { echo "Echo expert title here";} else { "echo nothing"}}?></h6>
</div>
<span class="gv-note-added-on" itemprop="dateCreated" datetime="{date_created}">{added_on}</span>
<div class="gv-note-content" itemprop="comment">{value}</div>

我在网上看到的唯一引用此的内容是get\\u current\\u user,但我不希望它获取当前用户。我希望它可以简单地检查用户名是否为Administrator,然后echo“-expert”;else echo“无回声”;

注意{user\\u name}是用户的显示名称

3 个回复
SO网友:BBackerry

@terminator answer可能有用,但我认为没有必要创建一个数组并使用array\\u intersect,因为您只需要寻找一个角色。这可能更容易理解:

$current_user = wp_get_current_user();
$roles = (array) $current_user->roles;
if (in_array(\'administrator\', $roles) { /* echo whatever */ }
别忘了检查“管理员”是否正是您想要的角色密钥。

SO网友:Beee

巴基里和终结者都没有正确阅读。OP问:“我想简单地检查用户名是否是管理员,然后echo“-专家”;否则echo“不echo”;”。以下代码为:

$current_user = wp_get_current_user();
if ( $current_user->user_login == \'Administrator\' ) {
    echo \'- expert\';
} else {
    echo "echo nothing";
}

SO网友:terminator

我想这可能对你有用

$username = "terminator";
$user = get_user_by(\'login\',$username); 
if(in_array(\'administrator\',$user->roles )){    
    echo "Echo expert";
}else{
    echo "nothing";
}
告诉我进展如何Hanks

结束

相关推荐