首页 > 解决方案 > Wordpress - 向用户添加多个角色,foreach 只添加第一个角色

问题描述

我正在尝试实现一种使用 php 和 wordpress 一次添加多个角色的方法。见下图。

在此处输入图像描述

它的工作方式是我可以选择多个角色并获得他们的“蛞蝓”。到目前为止一切正常,我得到了正确的角色“蛞蝓”。现在下一个问题是当我去 php 并更新用户的角色时。我在使用选定角色创建的数组上使用了一个 foreach,并在这个 foreach 中使用了 add_role()。然而,这个 foreach 仅出于某种原因添加了第一个角色并跳过了其他角色。即使所有数据都正确,为什么它只会使用选择的第一个角色有什么想法吗?

这是我发送到我的 php 的数组: 在此处输入图像描述

这将是我应该更新用户角色的 php:

$oUser = get_user_by('ID', $_POST['iUserID']);

if(isset($_POST['aRoles']) && !empty($_POST['aRoles'])){

    foreach ($_POST['aRoles'] as $key => $oRole) {
        $oUser->add_role( $oRole );
    }

}

我试过了:

标签: phpwordpressroles

解决方案


那好吧。我搞砸了。它一直在起作用……这正是我在角色中展示的方式。我的错。

我想说的是,即使我搞砸了,@CBroe 还是给出了非常好的评论,在添加角色之前删除了该角色。所以我会把它标记为我的答案。感谢所有看过的人。我不看代码中的正确位置,这很糟糕。


推荐阅读