Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    131

    wordpress - Personalizzare il backend di amministrazione

    Ciao,
    sto cercando di personalizzare l'area di amministrazione di un determinato utente.

    Modificando il file function.php del tema, sono riuscita a eliminare delle voci di menu principale con questo script trovato in rete:


    codice:
    function rimuovi_menu()
    {
        global $menu;
        global $current_user;
        get_currentuserinfo();
    
        if($current_user->user_login == 'autore')
        {
            $restricted = array(__('W4'),
    			    __('Dashboard'),
                                __('Slider'),
                                __('Links'),
                                __('Plugins'),
                                __('Users'),
                                __('Tools'),
    			    __('cformsII'),
                                __('Settings')
            );
            end ($menu);
            while (prev($menu)){
                $value = explode(' ',$menu[key($menu)][0]);
                if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
            }// fine while
    
        }// fine if
    }
    add_action('admin_menu', 'rimuovi_menu');
    Ora ho la necessità di nascondere sempre per questo utente anche dei sub-menu.

    Ho inserito sempre nel file function questo codice:

    codice:
    function rimuovi_submenu() {
      global $submenu;
    if ($userdata->ID != 1) {
        unset($submenu['themes.php'][5]); // Rimozione 'temi - Aspetto'.
        unset($submenu['themes.php'][10]); // Rimozione 'menu - Aspetto'.
    }
    }
    add_action('admin_menu', 'rimuovi_submenu');
    e mi elimina correttamente le voci temi e menu del menu Aspetto, però mi toglie le voci non solo se entro con quell'utente ma per tutti gli utenti.

    Inoltre vorrei nascondere altri sub-menu, come ad esempio la voce sidebars e editor che c'è sotto il menu aspetto, qualcuno sa aiutarmi?

    Grazie in anticipo.
    degele

  2. #2
    Ma il tipo "autore" non dovrebbe già avere un numero limitato di voci di menù visibili?
    Oltre a nascondere hai anche pensato bene ad impedire effettivamente l'ingresso in quelle pagine? Perché basta che l'utente conosca l'indirizzo...

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    131
    Il tipo autore ha già delle restrizioni, ma non fanno al caso mio.

    Io ho bisogno che questo utente ha tutti i privilegi di editore più la possibilità di modificare anche alcune impostazioni del tema (che solo l'amministratore può gestire).

    Siccome ho provato diversi plug-in ma nessuno riusciva a darmi questa possibilità, questa mi sembra l'unica strada percorribile.

    All'utente autore ho associato la tipologia amministratore (così può far tutto), ma gli nascondo i menu che non voglio che tocca (ad esempio il cambio tema, etc...)

    L'impedimento effettivo alle pagine non mi interessa perchè non credo proprio che il mio cliente abbia tempo e voglia di fare delle prove per stravolgere il sito.

    Nel frattempo ho trovato un articolo molto interessante in rete dove ci sono tutti i riferimenti per nascondere i vari sub menu.

    Ora mi manca solo di inserire il controllo per far sì che se l'utente non sono io (amministratore vero) deve nascondere tutti quei sub-menu

    Ho provato a scrivere questo:

    codice:
    function rimuovi_submenu() {
      global $submenu;
    if ($userdata->ID != 1) {
        unset($submenu['themes.php'][5]); // Rimozione 'temi - Aspetto'.
        unset($submenu['themes.php'][10]); // Rimozione 'menu - Aspetto'.
        unset($submenu['edit.php'][15]); // Remove categorie - Articoli'.
        unset($submenu['edit.php'][16]); // Removes Post Tags - Articoli'.
    }
    }
    add_action('admin_menu', 'rimuovi_submenu');
    perchè l'amministratore ha ID 1, ma non funziona, sai aiutarmi?
    degele

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    131
    Per quanto riguarda il controllo sull'utente ho risolto modificando il codice così:

    codice:
    function rimuovi_submenu() 
    {
        global $submenu;
        global $current_user;
        get_currentuserinfo();
    
        if($current_user->user_login == 'autore') 
    {
        unset($submenu['themes.php'][5]); // Rimozione 'temi - Aspetto'.
        unset($submenu['themes.php'][10]); // Rimozione 'menu - Aspetto'.
        unset($submenu['edit.php'][15]); //  Rimozione categorie - Articoli'.
        unset($submenu['edit.php'][16]); //  Rimozione Post Tags - Articoli'.
    }
    }
    add_action('admin_menu', 'rimuovi_submenu');
    Per quanto riguarda l'eliminazione del submenu editor sotto la voce aspetto ho risolto inserendo questo codice

    codice:
    function remove_editor_menu() {
      remove_action('admin_menu', '_add_themes_utility_last', 101);
    }
    
    add_action('_admin_menu', 'remove_editor_menu', 1);
    Ora mi manca solo una cosa.

    In fondo a tutti menu di primo livello (Articoli, Media, etc....) c'è la voce del tema acquistato che se cliccata si possono leggere le informazioni sugli aggiornamenti, non riesco a capire come posso eliminarla, qualche idea?
    degele

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.