Neuen Post Type in vorhandenes Menü bekommen
Normalerweise bekommt jeder neue Post Type einen eigenen Menüeintrag. Das wollen wir ändern!
Das WordPress-Menü schaut für vorhandene und neue Post Typen so aus:
Jeder Post Type hat einen eigenen Hauptmenüpunkt und ein ausklappbares Untermenü.
Optionen für neuen Custom Post Type
Beim Erstellen des Custom-Post-Types kann ich laut Dokumentation die Position angeben:
Die Doku hilft bei diesem Punkt also nicht weiter. Ich kann also nur angeben, wo in der ganzen linken Menü-Leiste ich etwas anzeigen will. Vor oder nach dem Menüpunkt Design, oder Plugins oder Benutzer.
Laut der Doku kann ich aber keinen Unterpunkt in einem Menü für unseren neuen Custom Post Type angeben.
show_in_menu ist der richtige Parameter
Etwas unübersichtliche Doku, aber es geht! Ein Custom Post Type lässt sich in das Menü eines anderen Post Types stecken!
So schaut ein gewöhnlicher Code aus, um einen Custom Post Type zu registrieren:
Der Code dient zur Veranschaulichung, um zu zeigen, welche Anpassungen wir vornehmen.
Um unseren Post Type jetzt in das Menü eines anderen Post Types stecken zu können, verwenden wir den Parameter show_in_menu.
Das mag auf den ersten Blick verwirrend sein, weil der Parameter menu_position dafür eigentlich gedacht sein sollte.
Und die Doku von show_in_menu nicht sofort in’s Auge sticht:
Im Code schaut das dann so aus:
Wenn ich jetzt einen Post Typ „Bücher“ und einen Post Type „Inhaltsverzeichnis“ als Beispiel erstelle, bekomme ich folgendes Ergebnis:
Post Type als Submenu, funktioniert!