Schneller Tipp Hierarchische benutzerdefinierte Beitragstypen funktionieren für Sie nicht?

Das Erstellen von Websites kann eine Herausforderung darstellen. Heute kann eine typische Website viele Arten von Informationen für den Leser enthalten. Bei einer Blog-Site befassen wir uns hauptsächlich mit Beiträgen, die im Laufe der Zeit zum Blog hinzugefügt werden. Wenn es bei unserer Website jedoch um Software, Musik oder fast alles andere geht, empfiehlt es sich, die verschiedenen Arten von Informationen auf eine besondere Weise zu trennen.

WordPress ist ein großartiges Content Management System (oder CMS), mit dem wir benutzerdefinierte Posttypen definieren können, um besser zu kategorisieren, welche Informationen wir für unsere Leser haben. Beim Erstellen von Websites habe ich die benutzerdefinierten Beitragstypen in WordPress verwendet, um ein FAQ-Blatt zu erstellen, eine Möglichkeit zum Auflisten von PDF-Dateien, Lernprogrammen und viele andere Möglichkeiten. Einige Plugins verwenden sogar benutzerdefinierte Post-Typen, um den dynamischen Inhalt für einen Schieberegler auf der Website zu erstellen. Es gibt viele Möglichkeiten, dieses sehr flexible System zu nutzen. Aber es hat seine Probleme: Dokumentation!


Das Problem

Eine Funktion von benutzerdefinierten Post-Typen, die ich sehr schwer herausfinden konnte, sind hierarchische Post-Typen. Ein hierarchischer Beitragstyp ist ein Beitragstyp mit einem übergeordneten Element und einem oder mehreren untergeordneten Elementen. Der Post-Typ der Seiten in WordPress ist ein klassisches Beispiel für einen hierarchischen Post-Typ. Eine Seite kann das übergeordnete Element anderer Seiten sein, das kann hierarchisch übergeordnetes Element anderer Seiten sein. Dies schafft eine sehr natürliche Art, viele verwandte Seiten zu gruppieren.

Bei der Arbeit an einem neuen Projekt mit einem benutzerdefinierten Beitragstyp wurde sehr deutlich, dass der hierarchische Aufbau eines benutzerdefinierten Beitragstyps den Seiten sehr ähnlich ist. Ich habe mich in die Dokumentation für benutzerdefinierte Posttypen eingemischt. Die meiste Arbeit, die zur Erstellung eines benutzerdefinierten Beitragstyps ausgeführt wird, liegt in der Angabe der Funktion zum Registrieren eines Beitragstyps: der register_post_type () Funktion. Mit dieser Funktion erstellen wir benutzerdefinierte Beitragstypen in WordPress.

Beim Scannen dieses Dokuments habe ich folgende Zeile gefunden:

hierarchisch
(boolean) (optional) Gibt an, ob der Beitragstyp hierarchisch ist (z. B. Seite). Ermöglicht die Angabe des übergeordneten Elements.
Voreinstellung: false

Ich dachte, so definieren wir einen hierarchischen Beitragstyp. Ich habe es auf true gesetzt und das Skript ausgeführt. Ich hatte meinen individuellen Posttyp und alles sah okay aus. Dann bemerkte ich ein Problem. Es gab keinen Meta-Box-Bereich im Bearbeitungsbildschirm, um das übergeordnete Element des aktuellen benutzerdefinierten Beitragstyps festzulegen. Diese Linie hat nicht funktioniert!


Die Lösung

Also, ich habe das gemacht, was jeder Programmierer macht, ich habe es bei Google gesucht! Überraschenderweise fand ich viele Beiträge, in denen die Leute dieselbe Frage stellten. Ich habe jedoch nie einen Beitrag gefunden, der die Frage beantwortet hat. Wenn Google nicht hilft, ist die einzige andere Lösung: Probieren Sie jede mögliche Kombination von Argumenten aus, die in der Spezifikation für den register_post_type () Funktion! Das hat eine Weile gedauert!

Zum Schluss habe ich folgende Zeilen bemerkt:

unterstützt
(array) (optional) Ein Alias ​​für den direkten Aufruf von add_post_type_support ().
Standard: Titel und Editor

* 'Titel'
* 'Editor' (Inhalt)
* 'Autor'
* 'thumbnail' (gekennzeichnetes Bild, aktuelles Thema muss auch Post-Thumbnails unterstützen)
* 'Auszug'
* 'trackbacks'
* 'Benutzerdefinierte Felder'
* 'comments' (auch Kommentar-Sprechblase wird auf dem Bearbeitungsbildschirm angezeigt)
* 'Revisionen' (speichert Revisionen)
* 'Seitenattribute' (Menüreihenfolge, hierarchisch muss wahr sein, um die Option "Übergeordnet" anzuzeigen)
* Postformate fügen Postformate hinzu, siehe Postformate

Ich habe nichts gesehen, das zuerst hierarchische Posttypen erwähnt, aber die Worte 'Seitenattribute'stand mir heraus. Der einzige für WordPress native Beitragstyp, der hierarchisch ist, ist die Seite. Wenn ich meine benutzerdefinierten Postseitenattribute angibt, wird möglicherweise die übergeordnete Meta-Box angezeigt. Gerade als dieser Gedanke durch meinen Kopf ging, bemerkte ich endlich das Ende der Zeile, auf der stand:Hierarchie muss true sein, um die übergeordnete Option anzuzeigen'. Bingo! Ich wusste, dass ich das brauchte. Ich fügte die Zeile zu meinem benutzerdefinierten Beitragstyp hinzu. Ich hatte jetzt einen hierarchischen benutzerdefinierten Beitragstyp!


Fazit

Um einen hierarchischen benutzerdefinierten Beitragstyp zu erstellen, müssen Sie das 'Seitenattribute'set in'unterstützt'Array und die'hierarchisch'Flag gesetzt auf wahr. Ich hoffe, das war auch für Sie hilfreich!

Welche anderen Kleinigkeiten sind Ihnen bei der Entwicklung für WordPress begegnet, und welche Tipps können Sie anderen geben, um anderen die Zeit zu sparen? Teilen Sie sie in den Kommentaren unten mit.