add_menu_page () з різною назвою для першого елемента підменю


83

add_menu_pageДокументація говорить передати заголовок меню в якості другого параметра:

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

Коли ви додаєте більше сторінок пізніше add_submenu_page, головна сторінка стає першим записом у підменю:

введіть тут опис зображення


Однак я хочу, щоб перший елемент у списку мав іншу назву (але все ж вказував на ту саму сторінку), як це робить Wordpress:

введіть тут опис зображення


Як я можу це зробити у своєму плагіні?


Я знайшов дуже корисний блог для того ж самого tekina.info/add-menus-submenus-wordpress-admin-panel
Singh

Відповіді:


112

Ви можете зробити "кулі" для сторінки підменю рівним сторінці верхнього рівня, і вони будуть вказувати на те саме місце:

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' );
}

Напр

введіть тут опис зображення


Це призведе до повторюваних записів, оскільки Wordpress автоматично створює сторінку підменю для головної сторінки.
MegaHit

4
Я пам’ятаю, що минулого тижня пробирався через основний код і стикався з приміткою, яка сказала щось на кшталт: «Додати пункт підменю за замовчуванням, АКОГО КОРИСТУВАЧ НЕ ВЖЕ!». Він перевіряє, чи є елемент підменю, що вказує на елемент верхнього рівня. Якщо є, він не додає за замовчуванням.
Майкл Льюїс

Я хочу, коли я створюю власне меню, я хочу відображати деякі таблиці та дані, оскільки в інших вкладках відображається посібник із посиланнями, або якась допомога щодо функцій буде оцінена
Aitazaz Khan

Саме те, що я шукаю. Дякую: P
Роб 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
    ); 

якщо різні назви першого підменю створюють однакову слизу батьків та першої дочірні та викликають ту саму функцію


2
Чим вона відрізняється від прийнятої відповіді? І до якої дії слід це підключити.
bravokeyl

-4

Просто додайте це:

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

Для налагодження можна виконати print_r($menu)перевірку всього меню WP.


7
Зламаний хак. Використовуйте API!
Річард Суїні
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.