Come creare un ruolo clone in WordPress
19 ott 2011, 08:33:43
Visualizzazioni: 23.2K
Voti: 28
Come creare un nuovo ruolo con le stesse capacità di un ruolo esistente. Ad esempio: Vorrei creare un nuovo ruolo con le stesse capacità di amministratore o editor e così via..
// Ottieni il ruolo esistente che vuoi clonare
$role = get_role('administrator'); // o 'editor', 'author', ecc.
// Ottieni le capacità del ruolo
$capabilities = $role->capabilities;
// Aggiungi un nuovo ruolo con le stesse capacità
add_role('nuovo_ruolo', 'Nome Visualizzato del Nuovo Ruolo', $capabilities);

Aadi
507
Commenti
Tutte le risposte alla domanda
5
3
Prova questo... Dovrebbe funzionare.
<?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');
//Aggiunge un 'new_role' con tutte le capacità dell'amministratore
$wp_roles->add_role('new_role', 'Il Mio Ruolo Personalizzato', $adm->capabilities);
}
?>
Controlla.

Rutwick Gangurde
8.6K
19 ott 2011 08:56:14
Commenti
Attenzione!! Sembra che questo cloni il ruolo prima che i plugin aggiungano ruoli e capacità. Proverò con admin_init per vedere se funziona meglio.

21 gen 2014 19:21:41
0
Puoi sempre utilizzare il plugin User Role Editor;
- Installa il plugin
- Vai a Utenti > User Role Editor
- Clicca "Aggiungi Ruolo" a destra
- Scegli il ruolo che desideri duplicare dal menu a discesa "Crea copia di" nella finestra di dialogo
- Clicca "Aggiungi Ruolo" nella finestra di dialogo

McOwen
142
25 mag 2017 17:35:07
0
Il sistema che ha funzionato nel mio caso è questo:
<?php
add_action('init', 'cloneRole');
function cloneRole() {
$adm = get_role('administrator');
$adm_cap= array_keys( $adm->capabilities ); //ottiene le capacità dell'amministratore
add_role('new_role', 'Mio Ruolo Personalizzato'); //crea un nuovo ruolo
$new_role = get_role('new_role');
foreach ( $adm_cap as $cap ) {
$new_role->add_cap( $cap ); //clona le capacità dell'amministratore nel nuovo ruolo
}
}
?>

Fosco Ventura
1
16 lug 2018 13:50:49
0
A partire dal 2024, clonare un ruolo è meglio realizzarlo con il wp
comando CLI per i ruoli, ad esempio:
wp role create 'nuovo-ruolo' 'Nuovo-ruolo' --clone 'ruolo-esistente'

sphakka
101
21 mag 2024 15:28:31
Domande correlate
3
risposte