Wenn Sie eine Seite mit add_submenu_page()
hinzufügen, sollte die URL so etwas wie:
wp-admin/admin.php?page=<your_page_handle>
Ihre Seite tatsächlich von admin.php
(in der Regel) geladen wird. Sie können Parameter zu Ihren Links hinzufügen, indem Sie etwas wie &id=3
anhängen und dann lassen Sie Ihre Hauptplugin-Ladelogik bestimmen, welche Datei basierend auf dem Parameter enthalten ist.
Zum Beispiel
if (isset($_GET['id']) && ((int) $_GET['id']) == 3) {
include 'second_page.php';
} else {
include 'first_page.php';
}
Edit:
ich einen Trick gefunden, die für Sie möglicherweise einfacher, obwohl ich nicht gründlich getestet haben. Nehmen wir an, Sie haben zwei Seiten: my_one
und my_two
. Rufen Sie einfach zweimal add_submenu_page
auf und legen Sie das übergeordnete Element der zweiten Seite als erste Seite fest. Dies führt dazu, dass Wordpress keinen Link zur Navigationsleiste hinzufügt, aber Sie können weiterhin auf Ihre Seite zugreifen, indem Sie zu admin.php?page=my_two
navigieren.
Beispiel:
add_submenu_page(
'my_toplevel_link'
, 'Page Title'
, 'Link Name'
, 'administrator'
, 'my_one' // here's the page handle for page one
, 'my_one_callback'
);
add_submenu_page(
'my_one' // set the parent to your first page and it wont appear
, 'Page Title'
, 'Link Name' // unused
, 'administrator'
, 'my_two'
, 'my_two_callback'
);
Nun, ich weiß, wie man eine Seite wie page.php, wie wäre es mit page.php? Id = 3? Das ändert alles und ich weiß nicht wie. –
Ich habe eine andere Methode hinzugefügt, die möglicherweise für Sie funktioniert. –
5 Jahre später, und diese Antwort ist immer noch nützlich. Wie auch immer, @FletcherMoore weißt du, wie ich es so einrichten kann, dass 'my_topelevel_link' immer noch als ** Main ** Menü ausgewählt ist? –