Wie fügst du eine WordPress-Admin-Seite hinzu, ohne sie dem Menü hinzuzufügen?
Baue ich ein WordPress-plugin und ich würde gerne ein edit-Element-Seite, die nicht erreicht werden kann über das Untermenü (weil dann die Sache würde nicht angegeben werden).
Diese Ressource (http://codex.wordpress.org/Adding_Administration_Menus) zeigt, wie das zuordnen einer admin-Seite mit einer Funktion, jedoch nicht, wie zu tun, ohne das hinzufügen von es als Menüpunkt.
Kann das getan werden?
Dank!
InformationsquelleAutor der Frage Nicky Hajal | 2010-10-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, das kann getan werden (gut, technisch gesehen, wäre es mehr wie die Registrierung die ganze Sache, und dann entfernen der Menüpunkt später), aber Es wäre einfach am einfachsten (denke ich) zu prüfen Parameter in der
$_GET
super-global, um anzuzeigen, dass der Benutzer wünschen, ein bestimmtes Element Bearbeiten.Zum Beispiel könnten Sie haben eine Seite, die Listen von Elementen zu Bearbeiten, und klicken auf 'Bearbeiten' fügt nur die Element-ID, um die aktuelle URL(query-string).
In der Funktion, die Sie zeigt diese Seite, wenn ID definiert ist, geben Sie die Seite an, Bearbeiten Sie das Element.
Sonst, geben Sie in der Liste Ansicht. Das ist, wie Artikel, Seiten und andere benutzerdefinierte post-Typen es tun.
InformationsquelleAutor der Antwort John P Bloch
Beste Lösung hier http://wordpress.org/support/topic/add-backend-page-without-menu-item
verwenden add_submenu_page mit Eltern slug = null
InformationsquelleAutor der Antwort Christof Coetzee
add_submenu_page mit Eltern slug = null
ODER
add_submenu_page mit Menü Titel = null
InformationsquelleAutor der Antwort Developer-Sid
Ja. Es ist sehr möglich, eine Seite kann nicht erreicht werden, über ein Untermenü, oder sogar das Haupt-Menü im WP admin-panel. Siehe das code-snippet unten.
Ich hoffe, dies wird helfen.
InformationsquelleAutor der Antwort Jaime Gris
Sich aus den Antworten, die vor mich gekommen sind, können Sie sehen, gibt es viele Möglichkeiten, dies zu tun. Allerdings gibt es einen anderen Weg, dass ich denke, vielleicht das beste.
Laden der Seite unterschiedlich, basierend auf dem Wert einer
$_GET
Abfrage-var ist eine option, aber es kann nicht sein, was manche Leute suchen.Die Vorschläge in Bezug auf
add_submenu_page()
sind auf dem richtigen Weg, aber die bisherigen Vorschläge haben Probleme. Einstellung$menu_title
zunull
nicht immer der Menüpunkt angezeigt wird, es macht es so, dass der link keinen text. Der link dauert noch einige Zimmer in dem Menü, obwohl, so dass es lustig aussieht. Einstellung der$parent_slug
zunull
dieses problem nicht hat, aber mir ist aufgefallen, dass die Seite den HTML -title
nicht anzeigt$page_title
text.Meine Lösung war, war die
$parent_slug
auf eine gefälschte Menü slug, wie'i_dont_exist'
. Der Menüpunkt wird nicht angezeigt, und bei der Anzeige der admin-Bildschirm den Titel der Seite wird ordnungsgemäß ausgefüllt ist.InformationsquelleAutor der Antwort J.D.
verwenden Sie diesen code für das erstellen der neuen Seite ohne Menü
InformationsquelleAutor der Antwort Boopathi Rajan
Ich habe versucht, alle Vorschläge, die hier aber mit verschiedenen Themen, die im Zusammenhang mit den einzelnen.
Der WordPress-codex für add_submenu_page gibt nun die richtige Antwort, die ist zu verwenden options.php als Ihre Eltern slug. Ich habe versucht, den trick mit einer aus dem Namen, aber das gibt Berechtigungen Fehler, ebenso die Verwendung der null, die an verschiedenen Orten entweder bewirkt, dass das Menü text einfach fehlen (aber immer noch anklickbar) oder für den browser-Titel verloren zu gehen.
Verwenden options.php gearbeitet und ich habe nicht gesehen, alle Probleme, die als Folge Ihrer Nutzung.
InformationsquelleAutor der Antwort ArtissTheGeek
Mit add_submenu_page mit einem Elternteil NULL funktioniert auf jeden Fall, aber wenn Sie möchten, um die nicht-verlinkten Seite mit einem Menü (sprich ein custom post type " - Menü), verwenden Sie eine Variante von @Boopathi Antwort:
Sieht es aus, als ob die beiden Maßnahmen würden sich gegenseitig auslöschen, aber remove_submenu_page nicht die Registrierung der callback-Funktion; es entfernt lediglich die Verknüpfung.
Diese Weise, wenn jemand Ihre Anzeige nicht verlinkte Seite, die richtige Navigations-Menü (unsere benutzerdefinierte post-Typ-Menü in diesem Beispiel), wird immer noch als aktiv.
InformationsquelleAutor der Antwort Josh
Habe ich endlich eine Möglichkeit gefunden, das zu tun, ist nicht ein hässlicher hack, der nicht erforderlich ist, JS zu markieren Sie den gewünschten Menüpunkt und Untermenüpunkt), und funktioniert für normale Menüs registriert von plugins (@Josh ' s Antwort funktioniert nur für benutzerdefinierte post-Typen).
Im wesentlichen, Sie brauchen nur zu registrieren Untermenü normal, aber dann Haken in die
'submenu_file'
filter zu deregistrieren und Optional auch ein anderes Untermenü zu markieren, statt.InformationsquelleAutor der Antwort J.D.
Eines der Probleme, die ich gefunden, nur das hinzufügen von null als parent-slug für ein Unterpunkt ist, dass, wenn Sie gerade anzeigen, dass bestimmte Seite im Untermenü selbst wird nicht angezeigt (zumindest ist es nicht für mich (zusammen mit dem Titel der Seite nicht zu sehen sind).
Was ich Tat, war fügen Sie ein leeres span-element im Menü-Titel und die jquery-zum Durchlaufen der übergeordneten Elemente und verbergen.
InformationsquelleAutor der Antwort Dustin Blake
Erstellen von sub-Menü-Seite und der übergeordneten slug lassen Sie es leer, wie diese:
Können Sie auf diese wie diese:
InformationsquelleAutor der Antwort Dragi Postolovski
Ich finde, Sie können es tun, durch die Wiederverwendung der insert-id hat, etwa so:
Den letzten 3 mit position 8 und die Letzte überschreibt die beiden so vor die beiden, bevor nicht angezeigt.
InformationsquelleAutor der Antwort Ben Glancy