Switch-Case and user_role

时间:2015-08-04 作者:Sjors Hijgenaar

我正在尝试创建一个页面,显示所有用户的一系列详细信息。其中一个详细信息是它所具有的用户角色。对于每个角色,我想显示不同的字符串。为了实现这一点,有以下代码:

function smoelenboek_func(){
    $users = get_users(\'orderby=nicename\');
    foreach ($users as $user) {
        switch ($user->roles[0]) {
            case \'administrator\' :
                echo \'Yes\';
            case \'member\' :
                echo \'No\';
            case \'oldmember\' :
                echo \'Maybe\';
        };
    };
};
现在发生的奇怪的事情是,具有管理员角色的用户得到输出“YesNoMaybe”,成员角色得到“NoMaybe”,老成员得到“Maybe”。我是否错误地使用了开关盒?角色数组中是否有我误解的内容?非常感谢您的帮助。

2 个回复
最合适的回答,由SO网友:Webloper 整理而成

你错过了休息声明

这就是开关盒的工作原理

switch ($i) {
    case "apple":
        echo "i is apple";
        break;
    case "bar":
        echo "i is bar";
        break;
    case "cake":
        echo "i is cake";
        break;
}

SO网友:AddWeb Solution Pvt Ltd

您的代码缺少break,您的要求如下:

如果是管理员,YesNoMaybe 或者如果是成员,NoMaybe 或者如果oldmember, 大概

最后代码如下所示:

function smoelenboek_func(){
    $users = get_users(\'orderby=nicename\');
    foreach ($users as $user) {
        switch ($user->roles[0]) {
            case \'administrator\' :
                echo \'YesNoMaybe\';
                break;
            case \'member\' :
                echo \'NoMaybe\';
                break;
            case \'oldmember\' :
                echo \'Maybe\';
                break;
        };
    };
};
我希望这对你有帮助。

P、 如果您对此有任何疑问/担忧,请告知我。

结束

相关推荐

如何使用php代码编辑特定的POST Slug?

我想要一个php代码,通过它我可以显示一个修改后的链接到帖子。使用时<?php get_post_permalink(); ?> 它显示例如:(www.mysite.com/post name one)。我需要的是类似的东西(www.mysite.com/abstract/post-name-one)。因为将这个词添加到链接将激活一个功能来更改帖子模板。我尝试使用:<a href=\"<?php the_permalink(); ?>\" title=\"<?