我在尝试向我的两个用户角色添加新权能时收到此错误:Error: Object of class WP_Role could not be converted to string ... on line 67
我尝试添加的功能将允许用户看到我们在WP设置中构建的自定义页面。这是我编写的用于填充角色的代码:
public static function add_csv_capability():void {
$rolesToPopulate = array((get_role( 'administrator' )), (get_role( 'editor' )));
$roles = array_fill_keys(($rolesToPopulate),NULL);
echo $roles;
foreach ($roles as $role) {
if ($role) {
$role->add_cap('use_csv_uploader');
}
}
}
有人问this是否能回答我的问题,this回答了,也回答了,它解释了错误是什么,但现在我知道了错误是什么,我需要弄清楚如何让这段代码完成我想要的工作,即允许我向多个角色添加功能。
你能给予的任何帮助都将不胜感激。
谢谢!
1条答案
按热度按时间o0lyfsai1#
首先,创建一个角色名称数组,然后使用array_fill_keys()创建一个关联数组,将这些角色名称作为键,将null作为值。然后循环遍历此数组,并使用get_role()检索相应的WP_Role对象,然后将功能添加到该角色。
因此,您可以使用角色名称数组而不是WP_Role对象数组,如下所示
我希望这能帮助你解决你所面临的问题。