例如:我想创建一个具有管理员或编辑者等功能的新角色。.
#1 楼
试试这个...这应该可以。<?php
add_action('init', 'cloneRole');
function cloneRole()
{
global $wp_roles;
if ( ! isset( $wp_roles ) )
$wp_roles = new WP_Roles();
$adm = $wp_roles->get_role('administrator');
//Adding a 'new_role' with all admin caps
$wp_roles->add_role('new_role', 'My Custom Role', $adm->capabilities);
}
?>
检查一下。
评论
小心!!这似乎是在插件添加角色和功能之前克隆角色。我将尝试使用admin_init来看看是否更好。
–spankmaster79
2014年1月21日在17:21
@ spankmaster79是的,那太好了!
–Rutwick Gangurde
2014年1月22日6:00
@RutwickGangurde没有更好的工作。插件仍然忽略角色
–spankmaster79
2014年1月24日15:42
#2 楼
您可以始终使用用户角色编辑器插件;安装该插件
转到用户>用户角色编辑器
单击右侧的“添加角色”
从对话框的“制作副本”下拉菜单中选择要复制的角色
在对话框中单击“添加角色”
#3 楼
假设您要克隆编辑器。$edr = $wp_roles->get_role('Editor');
add_role('clonerole', 'clone roles', $edr->capabilities);
#4 楼
在我的案例中起作用的系统是这样的:<?php
add_action('init', 'cloneRole');
function cloneRole() {
$adm = get_role('administrator');
$adm_cap= array_keys( $adm->capabilities ); //get administator capabilities
add_role('new_role', 'My Custom Role'); //create new role
$new_role = get_role('new_role');
foreach ( $adm_cap as $cap ) {
$new_role->add_cap( $cap ); //clone administrator capabilities to new role
}
}
?>
评论
你尝试了什么?什么有效?什么没?您是否尝试过成员插件?还是功能管理器插件?他们会做你想要的事情吗?如果要直观地执行所有操作,可以使用用户角色编辑器:)