add_menu_page () o innej nazwie dla pierwszego elementu podmenu


83

add_menu_pageDokumentacja mówi przekazać tytuł menu jako drugi parametr:

add_menu_page('Page Title', 'Menu Title', ...);

Po dodaniu kolejnych stron później add_submenu_pagestrona główna staje się pierwszym wpisem w podmenu:

wprowadź opis zdjęcia tutaj


Chcę jednak, aby pierwszy element na liście miał inną nazwę (ale nadal wskazuje tę samą stronę), tak jak robi to sam Wordpress:

wprowadź opis zdjęcia tutaj


Jak mogę to osiągnąć w mojej wtyczce?


Znalazłem bardzo przydatny blog dla tego samego szczeniaka tekina.info/add-menus-submenus-wordpress-admin-panel
Singh

Odpowiedzi:


112

Możesz ustawić „ślimak” strony podmenu równy stronie strony najwyższego poziomu, a będą one wskazywać to samo miejsce:

add_action('admin_menu', 'my_menu_pages');
function my_menu_pages(){
    add_menu_page('My Page Title', 'My Menu Title', 'manage_options', 'my-menu', 'my_menu_output' );
    add_submenu_page('my-menu', 'Submenu Page Title', 'Whatever You Want', 'manage_options', 'my-menu' );
    add_submenu_page('my-menu', 'Submenu Page Title2', 'Whatever You Want2', 'manage_options', 'my-menu2' );
}

Na przykład

wprowadź opis zdjęcia tutaj


Spowodowałoby to zduplikowanie wpisów, ponieważ Wordpress automatycznie tworzy stronę podmenu dla strony głównej.
MegaHit,

4
Pamiętam, jak w ubiegłym tygodniu przejrzałem główny kod i natrafiłem na notatkę z napisem: „Dodaj domyślną pozycję podmenu, JEŚLI UŻYTKOWNIK NIE JUŻ JUŻ”. Sprawdza, czy podmenu wskazuje element najwyższego poziomu. Jeśli tak, nie dodaje wartości domyślnej.
Michael Lewis,

Chcę, gdy tworzę niestandardowe menu, chcę wyświetlić niektóre tabele i dane, ponieważ inne karty wyświetlają link do samouczka lub pomoc w zakresie funkcji zostanie doceniona
Aitazaz Khan

Dokładnie tego, czego szukam. Dzięki: P
Rob DA

-3
add_submenu_page(
        'tut_theme_settings',       // parent slug
        'Front Page Elements 2',    // page title
        'Front Page 2',             // menu title
        'manage_options',           // capability
        'tut_theme_settings2',      // slug
        'theme_front_page_settings' // callback
    ); 

jeśli inna nazwa pierwszego podmenu tworzy ten sam ślimak rodzica i pierwszego dziecka i wywołuje tę samą funkcję


2
Czym różni się od przyjętej odpowiedzi? I do jakiej akcji należy to uzależnić.
bravokeyl

-4

Po prostu dodaj to:

$submenu['my-menu'][0][0] = 'My New Menu Title';

Do celów debugowania możesz wykonać a, print_r($menu)aby sprawdzić całe menu WP.


7
Hackedy hack. Użyj interfejsu API!
Richard Sweeney,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.