Eltern-Kind-Beziehung im benutzerdefinierten Beitragstyp

Veröffentlicht: 2020-08-18

Wer 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.

WordPress.
WordPress erlaubt nur Eltern-Kind-Beziehungen im benutzerdefinierten Beitragstyp

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.

Ein Code auf dem Laptop, der erforderlich ist, um eine Eltern-Kind-Beziehung im benutzerdefinierten Beitragstyp herzustellen
Zeit zum Codieren

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.

Eine Mutter mit Kindern und einem Tablet.
Damit Sie sich ein besseres Bild machen können

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.