add_menu_page () mit unterschiedlichem Namen für den ersten Untermenüpunkt


83

In der add_menu_pageDokumentation wird angegeben, dass der Menütitel als zweiter Parameter übergeben werden soll:

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

Wenn Sie später über weitere Seiten hinzufügen add_submenu_page, wird die Hauptseite zum ersten Eintrag im Untermenü:

Bildbeschreibung hier eingeben


Ich möchte jedoch, dass das erste Element in der Liste einen anderen Namen hat (aber immer noch auf dieselbe Seite zeigt), so wie es Wordpress selbst tut:

Bildbeschreibung hier eingeben


Wie könnte ich das in meinem Plugin erreichen?


Ich fand einen sehr nützlichen Blog für die gleiche Person: tekina.info/add-menus-submenus-wordpress-admin-panel
— Aniket Singh

Antworten:


112

Sie können festlegen, dass der Slug für die Untermenüseite dem Slug für die Seite der obersten Ebene entspricht, und sie zeigen auf dieselbe Stelle:

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

Z.B

Bildbeschreibung hier eingeben


Dies würde zu doppelten Einträgen führen, da Wordpress automatisch eine Untermenüseite für die Hauptseite erstellt.
— MegaHit

4
Ich erinnere mich, wie ich letzte Woche den Kerncode durchgesehen habe und auf eine Notiz gestoßen bin, in der etwa stand: "Standard-Untermenüeintrag hinzufügen, WENN BENUTZER NICHT BEREITS HAT". Es wird geprüft, ob ein Untermenüelement auf das Element der obersten Ebene verweist. Ist dies der Fall, wird die Standardeinstellung nicht hinzugefügt.
— Michael Lewis

Ich möchte, wenn ich ein benutzerdefiniertes Menü erstelle, ich möchte einige Tabellen und Daten anzeigen, da auf anderen Registerkarten ein Tutorial-Link angezeigt wird oder eine Funktionshilfe
— gewünscht

Genau das, wonach ich gesucht habe. Danke: 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
    ); 

Wenn der Name des ersten Untermenüs unterschiedlich ist, erstellen Sie denselben Slug von Eltern und erstem Kind und rufen Sie dieselbe Funktion auf


2
Wie unterscheidet es sich von der akzeptierten Antwort? Und an welche Aktion soll diese angebunden werden.
— Bravokeyl

-4

Fügen Sie einfach Folgendes hinzu:

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

Zum Debuggen können Sie a print_r($menu)ausführen, um das gesamte WP-Menü zu überprüfen.


7
Hackedy Hack. Nutzen Sie die API!
— Richard Sweeney
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.