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.