Cum să ascund meniurile în panoul de administrare WordPress

13 feb. 2014, 07:43:26
Vizualizări: 17.1K
Voturi: 5

Vreau să ascund câteva meniuri din panoul de administrare: Aspecte, Module și Unelte.

Cum să le ascund fără plugin?

Și cum pot să le afișez din nou ușor mai târziu?

2
Comentarii

Nu înțeleg prea bine întrebarea ta despre cum să le faci vizibile din nou. Prin eliminarea funcțiilor din răspunsul meu de mai jos, ar trebui să reapără.

iyrin iyrin
13 feb. 2014 08:33:08

Pentru toate rolurile și capabilitățile?

Brad Dalton Brad Dalton
13 feb. 2014 12:58:33
Toate răspunsurile la întrebare 3
5

Puteți face acest lucru cu remove_menu_page. Adăugați slug-ul de meniu corespunzător în fișierul functions.php al temei sau al pluginului dumneavoastră.

<?php remove_menu_page( $menu_slug ) ?>

Rețineți că utilizatorii pot accesa în continuare aceste meniuri folosind un link direct. Dacă intenționați să blocați un utilizator să acceseze un meniu, va trebui să configurați un rol de utilizator și să vă asigurați că acesta nu are capabilitățile relevante.

Mai jos aveți o listă cu exemple de slug-uri pentru meniurile incluse într-o instalare curată de WordPress.

<?php
function remove_menus(){  

  remove_menu_page( 'index.php' );                  //Dashboard  
  remove_menu_page( 'edit.php' );                   //Articole  
  remove_menu_page( 'upload.php' );                 //Media  
  remove_menu_page( 'edit.php?post_type=page' );    //Pagini  
  remove_menu_page( 'edit-comments.php' );          //Comentarii  
  remove_menu_page( 'themes.php' );                 //Aspect  
  remove_menu_page( 'plugins.php' );                //Pluginuri  
  remove_menu_page( 'users.php' );                  //Utilizatori  
  remove_menu_page( 'tools.php' );                  //Unelte  
  remove_menu_page( 'options-general.php' );        //Setări  

}  
add_action( 'admin_menu', 'remove_menus' );  
?>
13 feb. 2014 08:22:57
Comentarii

Acest lucru elimină și elementele din bara de administrare din partea frontală pentru utilizatorii autentificați?

Brad Dalton Brad Dalton
13 feb. 2014 12:59:56

Se pare că nu afectează bara de administrare.

iyrin iyrin
13 feb. 2014 13:20:01

@RyanLoremIpsum: cum putem ascunde doar post->etichetă? (nu întregul meniu post)

Lena Queen Lena Queen
13 feb. 2014 13:27:17

Nu înțeleg întrebarea. Dacă te referi la cum să elimini un element din submeniul "Etichete" din meniul "Articole" din panoul de administrare, acest lucru se poate face cu remove_submenu_page( $menu_slug, $submenu_slug );. Exemple pot fi găsite la remove submenu page în codex-ul WordPress.

iyrin iyrin
13 feb. 2014 13:37:26

@RyanLoremIpsum asta este o întrebare suplimentară și mulțumesc pentru ajutor

Lena Queen Lena Queen
13 feb. 2014 17:53:14
0
13 feb. 2014 08:44:28
0

Acesta este un fragment de cod interesant din plugin-ul Core Functionality al lui Bill Erickson.

/**
 * Elimină elementele din meniu
 * @since 1.0.0
 *
 * Elimină elementele de meniu nefolositoare adăugându-le în array.
 * Vezi lista comentată de elemente de meniu pentru referință.
 *
 */
function ni_remove_menus () {
    global $menu;

    // Exemplu:
    //$restricted = array(__('Dashboard'), __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));
    end ($menu);
    while (prev($menu)){
           $value = explode(' ',$menu[key($menu)][0]);
           if(in_array($value[0] != NULL?$value[0]:"" , $restricted) {
               unset($menu[key($menu)]);
           }
    }
}
add_action( 'admin_menu', 'ni_remove_menus' );

Decomentează array-ul $restricted și include elementele de meniu pe care dorești să le ascunzi. Exemplul conține toate elementele de meniu pentru referință.

13 feb. 2014 08:58:59