Rimuovere duplicato principale - sottomenu in admin?


11

Quando uso add_menu_pagee add_submenu_pageper aggiungere voci di menu,

add_menu_page( 'Forms', 'Forms', 'administrator', 'forms', 'forms_job_menupage_cb' );
add_submenu_page( 'forms', 'Job Applications', 'Job Applications', 'administrator', 'job-applications', 'forms_job_menupage_cb' );
add_submenu_page( 'forms', 'Quote Requests', 'Quote Requests', 'administrator', 'quote-req', 'forms_req_menupage_cb' );
add_submenu_page( 'forms', 'Contact', 'Contact', 'administrator', 'contact', 'forms_contact_menupage_cb' );

Prenderò qualcosa del genere

  • Forme
    • Forme
    • Domande di lavoro
    • Richieste di preventivo
    • Contatti

È possibile crearlo in modo tale che diventi

  • Forme
    • Domande di lavoro
    • Richieste di preventivo
    • Contatti

In altre parole, i moduli si collegheranno alle domande di lavoro e non desidero l'elemento del sottomenu Moduli aggiuntivo

Risposte:


10

Ciao @JM al lavoro:

Sì, purtroppo è stata aggiunta la pagina del sottomenu per ogni pagina del menu. Sarebbe bello se ci fosse un'opzione, ma purtroppo, al momento non lo è .

Per rimuovere l'opzione della pagina del sottomenu in WordPress 3.1 o utilizzare remove_submenu_page()al meglio questo codice nel functions.phpfile del tema o in un .phpfile di un plug-in, potresti scrivere:

add_action( 'admin_menu', 'yoursite_admin_menu' );
function yoursite_admin_menu() {
  add_menu_page( 'Forms', 'Forms', 'administrator', 'forms', 'forms_job_menupage_cb' );
  add_submenu_page( 'forms', 'Job Applications', 'Job Applications', 'administrator', 'job-applications', 'forms_job_menupage_cb' );
  add_submenu_page( 'forms', 'Quote Requests', 'Quote Requests', 'administrator', 'quote-req', 'forms_req_menupage_cb' );
  add_submenu_page( 'forms', 'Contact', 'Contact', 'administrator', 'contact', 'forms_contact_menupage_cb' );
  remove_submenu_page('forms','forms');
}

Se stai ancora usando WordPress 3.0 devi unset()un elemento della variabile globale $submenucome questo:

add_action( 'admin_menu', 'yoursite_admin_menu' );
function yoursite_admin_menu() {
  add_menu_page( 'Forms', 'Forms', 'administrator', 'forms', 'forms_job_menupage_cb' );
  add_submenu_page( 'forms', 'Job Applications', 'Job Applications', 'administrator', 'job-applications', 'forms_job_menupage_cb' );
  add_submenu_page( 'forms', 'Quote Requests', 'Quote Requests', 'administrator', 'quote-req', 'forms_req_menupage_cb' );
  add_submenu_page( 'forms', 'Contact', 'Contact', 'administrator', 'contact', 'forms_contact_menupage_cb' );
  unset($GLOBALS['submenu']['forms'][0]);
}

Molte grazie ........... :)
Ridwan Pujakesuma il

1

Ho dovuto aggiungere_submenu_page, quindi rimuoverlo (wp 4.0.1)

add_menu_page( 'Admin Tools', 'Admin Tools', 'manage_options','parent', '__return_null','', "70.23423" );
    // this 'hides' the extra.  actually, just makes the text nothing: ''  
    add_submenu_page( 'parent', '',     '', 'manage_options',   'parent',   '__return_null' );
    //ah, but this removes it completely (you need to add it, then remove it :/     
    remove_submenu_page('parent','parent');

1

Suggerirei di mantenere la voce di menu extra, perché è come funzionano tutti gli altri menu WP. (So ​​che non è quello che hai chiesto! ...) Il modo in cui funzionano gli altri menu di livello superiore è che hanno etichette diverse per il titolo del menu grande e quello duplicato sotto di esso (ad esempio "Utenti", "Tutti gli utenti"; "Strumenti", "Strumenti disponibili"). Penso che sia buono attenersi allo stesso paradigma, quindi di solito rinominare il primo elemento del sottomenu in questo modo:

<?php
add_menu_page( 'Plugin Name', 'Plugin Name', 'read', 'plugin-slug', $callback );
add_submenu_page( 'plugin-slug', 'Plugin Overview', 'Overview', 'read', 'plugin-slug', $callback );

1

Assegna la prima lumaca del sottomenu in modo simile al menu principale. Nel tuo caso, sostituisci le "domande di lavoro" con la barra dei "moduli" del menu principale.

add_menu_page( 'Forms', 'Forms', 'administrator', 'forms', 'forms_job_menupage_cb' );
add_submenu_page( 'forms', 'Job Applications', 'Job Applications', 'administrator', 'forms', 'forms_job_menupage_cb' );
add_submenu_page( 'forms', 'Quote Requests', 'Quote Requests', 'administrator', 'quote-req', 'forms_req_menupage_cb' );
add_submenu_page( 'forms', 'Contact', 'Contact', 'administrator', 'contact', 'forms_contact_menupage_cb' );
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.