Concedere l'accesso Editor alla Sidebar

13 set 2011, 21:22:00
Visualizzazioni: 14.9K
Voti: 16

Voglio concedere al ruolo Editor l'accesso per modificare la sidebar e i suoi contenuti. Ho un widget di testo lì e per modificare questo widget l'utente deve essere un amministratore - questo è un problema. Come posso concedere i permessi al ruolo Editor per dargli accesso alla modifica della sidebar?

2
Commenti

Questo potrebbe essere correlato: http://wordpress.stackexchange.com/questions/13413/how-to-add-a-capability-to-a-user-role

Elliott Elliott
13 set 2011 21:33:36

Sembra essere più o meno ciò che sto cercando ma non capisco il codice. Sembra che stia creando un nuovo utente e assegnando ruoli invece di modificare un utente esistente

Howdy_McGee Howdy_McGee
13 set 2011 21:40:05
Tutte le risposte alla domanda 2
8
23

La capacità edit_theme_options dovrebbe permettere all'utente di modificare la sidebar come descritto in questa pagina: http://codex.wordpress.org/Appearance_Widgets_SubPanel

Codice da aggiungere a functions.php

   $role = get_role('editor'); 
   $role->add_cap('edit_theme_options');

Modifica:

Questo codice dovrebbe funzionare per impedire all'editor di accedere ai temi o ai menu

function custom_admin_menu() {

    $user = new WP_User(get_current_user_id());     
    if (!empty( $user->roles) && is_array($user->roles)) {
        foreach ($user->roles as $role)
            $role = $role;
    }

    if($role == "editor") { 
       remove_submenu_page( 'themes.php', 'themes.php' );
       remove_submenu_page( 'themes.php', 'nav-menus.php' ); 
    }       
}

add_action('admin_menu', 'custom_admin_menu');

Non ho avuto modo di testarlo, ma rimuove solo le voci dal menu - potrebbero comunque accedervi digitando direttamente l'URL.

13 set 2011 21:49:59
Commenti

Funziona perfettamente, ma poi come faccio a impedire loro di accedere ai menu o ai temi?

Howdy_McGee Howdy_McGee
13 set 2011 22:06:04

Vedi la mia risposta modificata.

Elliott Elliott
13 set 2011 22:23:26

Errore Fatale: Chiamata a funzione non definita remove_menu_page() - Inoltre non mi preoccupa che possano digitare l'URL, dubito fortemente che qualcuno possa essere così malintenzionato e comunque si tratta solo di temi e menu. E non posso darti abbastanza +1! Grazie!

Howdy_McGee Howdy_McGee
13 set 2011 22:36:40

Scusa ho aggiunto il codice sbagliato, dovrebbe essere remove_submenu_page anche se comunque non dovresti aver ricevuto un errore fatale. Ho modificato la mia risposta, ho testato e tutto funziona bene per me?

Elliott Elliott
13 set 2011 22:48:57

Ricevo ancora un errore fatale con "remove_submenu_page" - Lo sto aggiungendo all'inizio del file Functions.php nella cartella del mio Tema, è corretto?

Howdy_McGee Howdy_McGee
13 set 2011 22:53:27

Sì, è corretto, quale versione di WordPress stai usando attualmente?

Elliott Elliott
13 set 2011 22:55:07

Sto utilizzando la versione 3.0.4 - Cercavo di non aggiornare perché continuo a sentire quanto sia piena di bug sia sul frontend che sul backend.

Howdy_McGee Howdy_McGee
13 set 2011 23:00:54

Oh, allora sarebbe per questo che è supportato solo dalla versione 3.1.0, non ho avuto alcun bug da quando ho aggiornato... Consiglierei sempre di aggiornare all'ultima versione per mantenere il sistema sicuro.

Elliott Elliott
13 set 2011 23:07:29
Mostra i restanti 3 commenti
1

Se desideri configurare questa opzione nel modo più semplice possibile, utilizza il plugin Members. La capacità che dovrai aggiungere è 'edit_theme_options'. Tieni presente che questo concederà più della sola area widget, concederà anche all'editor l'accesso all'intero menu Aspetto. Vedi qui

http://wordpress.org/extend/plugins/members/

Se vuoi farlo programmaticamente, dovrai utilizzare add_cap().

$editor = get_role('editor');
$editor->add_cap('edit_theme_options');

Puoi inserire quel codice in un plugin personalizzato, e il gioco è fatto. Oppure inseriscilo in functions.php.

13 set 2011 21:50:15
Commenti

E se qualcuno utilizza il popolare plugin User Role Editor, puoi selezionare anche 'Modifica Opzioni Tema'/'edit_theme_options' lì.

User User
2 dic 2018 05:55:53