Allow user access to Dashboard only!

24 iun. 2011, 16:22:54
Vizualizări: 1.56K
Voturi: 1

Actualizare: Acest fragment de cod elimină meniul și pentru contul meu de administrator:

function remove_menu_items() {

    global $menu;
    global $user_ID; 

    if( $user_ID ) :

        /* Acces doar la Dashboard */
        if( current_user_can( 'Dashboardvisitors' ) ) :

            $restricted = array(
                __('Postări'),
                __('Media'),
                __('Pagini'),
                __('Legături'),
                __('Aspect'),
                __('Unelte'),
                __('Utilizatori'),
                __('Setări'),
                __('Comentarii'),
                __('Plugin-uri')
            );

        endif;

    endif;  

    end ( $menu );

    while ( prev( $menu ) ) :
        $value = explode( ' ', $menu[key($menu)][0] );
        if( in_array( $value[0] != NULL?$value[0]:"" , $restricted ) ) :
            unset( $menu[key($menu)] );
        endif;
    endwhile;

}
add_action('admin_menu', 'remove_menu_items');

Cum pot oferi unui utilizator acces doar la dashboard?

Mai exact, vreau să poată vedea widget-ul de statistici WordPress și widget-ul Google Analytics. Atât.

Am creat un utilizator nou cu rolul dashboardvisitors folosind plugin-ul USER ROLE EDITOR.

Acum nivelul 0 plus drepturi de citire nu sunt suficiente. Dashboard-ul este pur și simplu gol.

Adăugarea edit dashboard nu schimbă nimic. Tot nu apare nimic (dar nu vreau să poată edita dashboard-ul oricum).

Cum pot realiza acest lucru? Este foarte important, așa că vă mulțumesc mult!

0
Toate răspunsurile la întrebare 1
1

Puteți adăuga acest cod în fișierul dvs. functions.php :

function remove_menu_items() {

    global $menu;
    global $user_ID; 

    if( $user_ID ) :

        /* Acces doar la Dashboard */
        if( current_user_can( 'dashboardvisitors' ) ) :

                $restricted = array(
                    __('Articole'),
                    __('Pagini'),
                    __('Legături'), 
                    [etc...]
            );

        endif;

    endif;  

    end ( $menu );

    while ( prev( $menu ) ) :
        $value = explode( ' ', $menu[key($menu)][0] );
        if( in_array( $value[0] != NULL?$value[0]:"" , $restricted ) ) :
            unset( $menu[key($menu)] );
        endif;
    endwhile;

}
add_action('admin_menu', 'remove_menu_items');

Acest cod elimină elementele din meniu enumerate în array-ul restricted pentru fiecare utilizator cu rolul 'dashboardvisitors' care accesează administrarea WordPress. Dacă enumerați toate secțiunile administrative, cu excepția dashboard-ului, în acel array, veți avea o administrare limitată doar la dashboard.

24 iun. 2011 16:40:02
Comentarii

Mulțumesc @mike23, unde pot găsi o listă cu toate array-urile pe care le pot/ar trebui să elimin?

Simon Simon
24 iun. 2011 17:35:50