これを試してください...これはうまくいくはずです。
<?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);
}
?>
確認してください。
User Role Editor pluginをいつでも使用できます。
- プラグインをインストールする
- [ユーザ]> [ユーザロールエディタ]に移動します。
- 右側にある[役割を追加]をクリックします。
- ダイアログボックスの[コピーの作成]ドロップダウンから複製したい役割を選択します。
- ダイアログボックスで[役割を追加]をクリックします。
エディタを複製したいとします。
$edr = $wp_roles->get_role('Editor');
add_role('clonerole', 'clone roles', $edr->capabilities);
私の場合うまくいったシステムはこれです:
<?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
}
}
?>