So erstellen Sie eine benutzerdefinierte Taxonomie

Veröffentlicht: 2016-09-07

Dies ist der zweite Artikel einer 3-teiligen Serie zum Thema Custom Post Types (CPT). Die Themen, die in den anderen beiden Artikeln behandelt werden, sind:

  • Benutzerdefinierte Beitragstypen und wie man sie erstellt
  • Anzeigen von benutzerdefinierten Beitragstypen – Vorlagen und Abfragen

In diesem Blogbeitrag sehen wir uns an, wie man eine benutzerdefinierte Taxonomie erstellt und sie mit einem benutzerdefinierten Beitragstyp verbindet.

Was ist eine benutzerdefinierte Taxonomie?

Fangen wir einfach damit an, was ist eine Taxonomie? Ich mag die offizielle WordPress-Definition: Eine Taxonomie ist eine Möglichkeit, Dinge zu gruppieren.

WordPress hat 4 Standardtaxonomien: Kategorie, Tag, Linkkategorie und Beitragsformate. Die am häufigsten verwendeten der vier sind definitiv Kategorien und Tags. Mit der Kategorie-Taxonomie können Sie Beiträge in logischen Kategorien zusammenfassen, die Sie selbst definieren können. Die Tag-Taxonomie ist sehr ähnlich, kann aber freier verwendet werden. Eine einzelne Gruppe in einer Taxonomie wird als Begriff bezeichnet. Jede Taxonomie hat auch ihre „Index“-Seite, auf der alle Posts desselben Begriffs angezeigt werden (die URLs dieser Seiten sehen so aus: „Taxonomie/Begriff“ ).

Eine benutzerdefinierte Taxonomie ist also genau das, was der Name schon sagt, es ist Ihre eigene benutzerdefinierte Gruppe von Beiträgen (oder benutzerdefinierten Beitragstypen). Wenn wir eine Buchbesprechung als benutzerdefinierten Beitragstyp hätten, wären Buchgenres ein gutes Beispiel für eine benutzerdefinierte Taxonomie.

Nur um die Erinnerung aufzufrischen: Im vorherigen Artikel über benutzerdefinierte Beitragstypen haben wir das Beispiel-CPT von Testimonials für unser Shaka-Thema verwendet, also werden wir das hier auch weiterhin verwenden.

Wir haben also den benutzerdefinierten Beitragstyp Testimonials. Welche Art von benutzerdefinierten Taxonomien möchten wir? Welche Gruppen wären für diesen Anwendungsfall sinnvoll? Wir könnten Erfahrungsberichte danach gruppieren, auf welchen Dienst sie sich beziehen. So könnten wir eine benutzerdefinierte Taxonomie von Dienstleistungen haben (Surfen, Kiten, Tauchen). Eine andere benutzerdefinierte Taxonomie könnten Orte sein, an denen die Benutzer diesen Dienst erlebt haben und so weiter.

Sie können für jede logische Gruppe, die Ihnen einfällt, eine benutzerdefinierte Taxonomie erstellen.

Wie können Sie eine benutzerdefinierte Taxonomie erstellen?

Genau wie bei benutzerdefinierten Beitragstypen gibt es zwei Möglichkeiten , eine benutzerdefinierte Taxonomie zu registrieren. Sie können es mit einem Plugin erstellen oder ein bisschen PHP-Code schreiben.

Die Gründe und Anwendungsfälle dafür, wann dies über ein Plugin oder mit Code zu tun ist, sind die gleichen wie für die CPTs, also lesen Sie es bitte im ersten Artikel nach.

Hier sehen wir uns nur an, wie die benutzerdefinierte Taxonomie erstellt und mit dem benutzerdefinierten Beitragstyp verbunden wird .

Erstellen Sie eine benutzerdefinierte Taxonomie mit einem Plugin – der einfache Weg

Wir werden das Custom Post Type UI- Plugin verwenden, um die benutzerdefinierte Taxonomie zu registrieren, genau wie wir es für den CPT im vorherigen Artikel getan haben:

  1. Installiere und aktiviere das Custom Post Type UI Plugin von deinem wp-admin Dashboard,
  2. Sobald Sie das Plug-in aktiviert haben, ist das Admin-Menüelement der CPT-Benutzeroberfläche verfügbar . Gehen Sie zu CPT UI -> Taxonomie hinzufügen/bearbeiten
  3. Geben Sie den Taxonomie-Slug, Plural- und Singular-Namen ein und dann müssen Sie auswählen, welcher Beitragstyp dieser neu erstellten benutzerdefinierten Taxonomie angehängt werden soll (andere Standardeinstellungen sind in Ordnung). In unserem Fall haben wir unsere benutzerdefinierte Taxonomie benannt: testimonial_service und wir haben sie an den benutzerdefinierten Beitragstyp testimonials angehängt, den wir im vorherigen Artikel registriert haben: Taxonomie hinzufügen
  4. Wenn wir uns nun den Bildschirm zum Erstellen eines neuen benutzerdefinierten Beitragstyps für Testimonials ansehen, sehen Sie auf der rechten Seite das Metafeld Testimonials Services und auf der linken Seite auch einen Untermenüpunkt: Neues Zeugnis hinzufügen
  5. Das war's, wir können jetzt neue Dienste hinzufügen, die die Testimonials nach den Diensten gruppieren, auf die sie sich beziehen.

Erstellen Sie manuell eine benutzerdefinierte Taxonomie – Codierung erforderlich

Ja, der Titel sagt, dass Codierung involviert ist, aber das stimmt nicht wirklich

Sie können den WP-Codegenerator verwenden , um den benutzerdefinierten Taxonomiecode zu generieren. Klicken Sie einfach durch die Registerkarten oben und geben Sie die Details Ihrer benutzerdefinierten Taxonomie ein. Der Generator gibt einen gültigen benutzerdefinierten Taxonomie-Registrierungscode aus:

 // Register Custom Taxonomy function custom_taxonomy_testimonial_service() { $labels = array( 'name' => _x( 'Testimonial Services', 'Taxonomy General Name', 'text_domain' ), 'singular_name' => _x( 'Testimonial Service', 'Taxonomy Singular Name', 'text_domain' ), 'menu_name' => __( 'Testimonial Services', 'text_domain' ), 'all_items' => __( 'All Items', 'text_domain' ), 'parent_item' => __( 'Parent Item', 'text_domain' ), 'parent_item_colon' => __( 'Parent Item:', 'text_domain' ), 'new_item_name' => __( 'New Item Name', 'text_domain' ), 'add_new_item' => __( 'Add New Item', 'text_domain' ), 'edit_item' => __( 'Edit Item', 'text_domain' ), 'update_item' => __( 'Update Item', 'text_domain' ), 'view_item' => __( 'View Item', 'text_domain' ), 'separate_items_with_commas' => __( 'Separate items with commas', 'text_domain' ), 'add_or_remove_items' => __( 'Add or remove items', 'text_domain' ), 'choose_from_most_used' => __( 'Choose from the most used', 'text_domain' ), 'popular_items' => __( 'Popular Items', 'text_domain' ), 'search_items' => __( 'Search Items', 'text_domain' ), 'not_found' => __( 'Not Found', 'text_domain' ), 'no_terms' => __( 'No items', 'text_domain' ), 'items_list' => __( 'Items list', 'text_domain' ), 'items_list_navigation' => __( 'Items list navigation', 'text_domain' ), ); $args = array( 'labels' => $labels, 'hierarchical' => false, 'public' => true, 'show_ui' => true, 'show_admin_column' => true, 'show_in_nav_menus' => true, 'show_tagcloud' => true, ); register_taxonomy( 'testimonial_service', array( 'testimonials' ), $args ); } add_action( 'init', 'custom_taxonomy_testimonial_service', 0 );

Sie können diesen Code in ein neu erstelltes Plugin oder in die Datei functions.php des Themas einfügen. Ich habe den Code direkt in die Datei functions.php eingefügt, weil es für dieses Beispiel bequemer ist. Der Untermenüpunkt Testimonial Services ist im Testimonials Admin Dashboard-Menü erschienen und das Meta-Feld ist auch dort, genau wie auf dem Screenshot im obigen Plugin-Setup.

Die manuelle Registrierung der benutzerdefinierten Taxonomie funktioniert, also analysieren wir den Code und sehen genau, was er tut. Die Codestruktur ist der Registrierung des benutzerdefinierten Beitragstyps im ersten Artikel sehr ähnlich , unterscheidet sich jedoch in einigen Einstellungen und Funktionsaufrufen:

  • Wir hängen die Funktion custom_taxonomy_testimonial_service in die WP- init -Aktion ein, um die benutzerdefinierte Taxonomie zu registrieren,
  • Der erste Codeblock innerhalb der Funktion ist ein Label-Array, in dem Sie die Wörter ändern können, die beim Erstellen/Bearbeiten benutzerdefinierter Taxonomien verwendet werden. Tipp: Ich würde empfehlen, dass Sie Escaping-Internationalisierungsfunktionen verwenden. Anstelle von _x() und __() würde ich esc_html_x() und esc_html__() verwenden,
  • Der zweite Block ist ein Array von Argumenten/Einstellungen für die benutzerdefinierte Taxonomie. Sie können einen Blick in die offizielle WP-Dokumentation werfen, um zu sehen, welche Argumente Sie setzen können,
  • Mit der register_taxonomy( 'testimonial_service', array( 'testimonials' ), $args ); -Aufruf registrieren wir die benutzerdefinierte Taxonomie testimonial_service , die mit den $args Argumenten an den benutzerdefinierten Beitragstyp testimonials „angehängt“ wird.

Jetzt, da wir den benutzerdefinierten Beitragstyp und die benutzerdefinierte Taxonomie registriert haben, müssen wir sie nur noch auf unserer WordPress-Site anzeigen. Dies wird das Thema des nächsten und letzten Blogbeitrags über benutzerdefinierte Beitragstypen sein.