Eltern-Kind-Beziehung im benutzerdefinierten Beitragstyp
Veröffentlicht: 2020-08-18Wer möchte nicht eine organisierte WordPress-Website haben? Genau aus diesem Grund sind benutzerdefinierte Beitragstypen wichtig. CTP ermöglicht es uns, Daten zu trennen und bei Bedarf einfach darauf zuzugreifen und sie zu aktualisieren. Was es uns jedoch ermöglicht hat, diesen Inhalt zu organisieren und ihm eine Hierarchie zu geben, ist die Eltern-Kind-Beziehung im benutzerdefinierten Beitragstyp . Aber bevor wir über die Eltern-Kind-Beziehung sprechen, fangen wir von vorne an.
Lang erwartete CPT
Wenn Sie nicht wissen, warum es wichtig ist, Ihr WordPress zu aktualisieren, finden Sie hier ein offensichtliches Beispiel. Nach Jahren des Wartens, als WordPress 3.0 auf den Markt kam, konnten wir endlich benutzerdefinierte Beitragstypen erstellen. Und das war wirklich die Gelegenheit, von der Sie so schnell wie möglich erfahren wollten. Damit wurde eine WordPress-Website von einer einfachen Blogging-Plattform zu einem leistungsstarken Control Management System umgewandelt. Mit nur wenigen Codezeilen sind wir in der Lage, unseren eigenen Typ zu haben.
Bevor wir zur Eltern-Kind-Beziehung im benutzerdefinierten Beitragstyp kommen, sehen wir uns zunächst an, was der benutzerdefinierte Beitragstyp ist.
Was ist CPT?
CPT von benutzerdefinierten Beitragstypen könnten als Inhalt angesehen werden. Der Begriff „Beitrag“ könnte Sie verwirren, da es sich in keiner Weise um einen Blogbeitrag handelt. CPT können beliebige Inhalte sein, und es gibt keine strengen Regeln , um sie zu definieren. Offensichtlich gibt es Standard- und benutzerdefinierte Beitragstypen. Standard-Post-Typen sind Blog-Posts, Seiten und Anhänge, Überarbeitungen und Navigationsmenüs.
Auf der anderen Seite ermöglichen benutzerdefinierte Beitragstypen mehr kreative Kontrolle beim Erstellen, Speichern und Bearbeiten von Informationen.
Sie sollten benutzerdefinierte Beitragstypen nicht mit Blog-Beiträgen mischen. Wenn Sie Blogbeiträge strukturieren und hierarchisieren möchten, stehen Ihnen in WordPress Kategorien und Unterkategorien zur Verfügung.
Für benutzerdefinierte Beitragstypen verwenden
Obwohl es WordPress-Standard-Post-Typen gibt, brauchen manche Leute mehr als das. Hier sind einige der Beispiele, bei denen benutzerdefinierte Beitragstypen nützlich sind:
- Website mit Veranstaltungslisten mit Veranstaltungsarten und Veranstaltungsorten
- Immobilienangebote
- E-Commerce-Sites mit Produktoptionen
- Ticketsystem
- Designgalerie oder Vitrine
Denken Sie daran, dass diese Ideen nur einige der Vorschläge sind. Es gibt noch viel mehr Ideen, wo Sie benutzerdefinierte Beitragstypen verwenden könnten, also lassen Sie Ihrer Fantasie freien Lauf.
Eltern-Kind-Beziehung und Beiträge
Wenn Sie zu den Einstellungen gehen und die Option „Hierarchisch“ aktivieren, können Sie Ihre Posts dazu bringen, sich eher wie Seiten zu verhalten, und Sie können Eltern-Kind-Beziehungen erstellen. Nehmen wir zum Beispiel an, Sie hätten einen Beitragstyp namens „Getränk“ und eine übergeordnete Seite „Alkohol“ und eine untergeordnete Seite „Wodka“. Wenn Sie den „Wodka“-Beitrag angesehen haben, würde die URL etwa so aussehen: yoursite.com/drink/liquor/vodka/
Grundsätzlich betrifft dies nur Ihre Beiträge innerhalb Ihres Beitragstyps, nicht andere Beitragstypen, die miteinander verwandt sind. Beispielsweise wäre der Beitragstyp „Getränk“ kein Kind zu einem Beitragstyp „Essen“.
Einschränkende Möglichkeiten
Wenn es um Post-Beziehungen geht, bietet WordPress sehr wenig. Tatsächlich ist die Eltern-Kind-Beziehung in benutzerdefinierten Beiträgen die einzige Art von Beziehung, die WordPress unterstützt. Es mag jedoch schwierig erscheinen, einen benutzerdefinierten Beitragstyp zu einem übergeordneten und einen anderen benutzerdefinierten Beitragstyp zu einem untergeordneten Typ zu machen.

Hier ist ein Beispiel aus einem Projekt, in dem Sie verschiedene Beitragstypen sehen und untergeordnete Beiträge einem übergeordneten Beitrag zuweisen können.
- Benutzerdefinierter Beitragstyp mit dem Namen „Nachbarschaft“
- Für Orte in dieser Nachbarschaft haben wir einen benutzerdefinierten Beitragstyp mit dem Namen „Orte“.
- Denken Sie daran, dass diese benutzerdefinierten Beitragstypen nicht hierarchisch sind
- Das Ziel ist es, jeden Ort einer Nachbarschaft zuzuordnen, die der übergeordnete Beitrag wird
Zuweisen eines übergeordneten Postens
Hoffentlich wissen Sie inzwischen ein wenig über Post-Typen und wissen, wie sie funktionieren. Um jedoch einen übergeordneten Beitrag zuzuweisen, müssen Sie ein wenig codieren. Falls Sie mit Shortcodes in WordPress nicht vertraut sind, versuchen Sie, die Grundlagen zu verstehen. Die Grundlagen sollten ausreichen, da Sie nur den folgenden Code zu den Verwaltungsdateien des Plugins hinzufügen müssen, um einen übergeordneten Beitrag zuzuweisen.


Zur Erläuterung verwenden wir hier die flachen Post-Typen Neighborhood und Place. Und jetzt ist es Zeit für die Codierung:
/* Hook meta box to just the 'place' post type. */ add_action( 'add_meta_boxes_place', 'my_add_meta_boxes' ); /* Creates the meta box. */ function my_add_meta_boxes( $post ) { add_meta_box( 'my-place-parent', __( 'Neighborhood', 'example-textdomain' ), 'my_place_parent_meta_box', $post->post_type, 'side', 'core' ); } /* Displays the meta box. */ function my_place_parent_meta_box( $post ) { $parents = get_posts( array( 'post_type' => 'neighborhood', 'orderby' => 'title', 'order' => 'ASC', 'numberposts' => -1 ) ); if ( !empty( $parents ) ) { echo '<select name="parent_id" class="widefat">'; // !Important! Don't change the 'parent_id' name attribute. foreach ( $parents as $parent ) { printf( '<option value="%s"%s>%s</option>', esc_attr( $parent->ID ), selected( $parent->ID, $post->post_parent, false ), esc_html( $parent->post_title ) ); } echo '</select>'; } }
Vergessen Sie nicht, die Namen der Beitragstypen in Ihre eigenen Beitragstypen zu ändern. Um den Code besser zu verstehen und auf Ihrer Website zu verwenden, finden Sie hier ein weiteres Beispiel auf GitHub, das Sie möglicherweise nützlich finden.
Beziehungen posten
Während Eltern-Kind-Beziehungen in benutzerdefinierten Beitragstypen nützlich sind, sind sie auch ziemlich begrenzt. Wenn Sie komplexere Lösungen haben möchten, müssen Sie sich woanders umsehen. Es gibt einige Plugins, die Ihnen helfen können, ähnliche Effekte von Post-Beziehungen zu erzielen.

Warum brauchen wir Postbeziehungen?
Wenn wir Verbindungen zwischen Posts auf einer Website herstellen möchten, verwenden wir im Grunde Post-Beziehungen. Und der Grund, warum sie so gut sind, ist, dass sie es uns ermöglichen , fortgeschrittene Websites zu erstellen . Sobald wir die benutzerdefinierten Beitragstypen miteinander verbinden, können wir Datenduplizierung vermeiden und sicherstellen, dass alle eine Information nicht mehr als einmal bearbeiten müssen. Da Zeit Geld ist, brauchen wir auch jede Methode, die uns hilft, alltägliche Aufgaben zu vermeiden.
Vorteile der Verwendung der Eltern-Kind-Beziehung in benutzerdefinierten Beitragstypen
Einer der offensichtlichen Vorteile der Verwendung der Eltern-Kind-Beziehung in benutzerdefinierten Beitragstypen besteht darin, dass Sie Ihre Website sortiert halten können. Und Suchmaschinen und Benutzer lieben eine Website mit einer organisierten Struktur . Denken Sie jedoch daran, dass Sie, um die Vorteile wirklich zu erleben, einen guten Plan erstellen und sich daran halten müssen.