Benutzerdefinierte WordPress-Beitragstypen – Leitfaden für Anfänger

Veröffentlicht: 2017-01-04

WordPress ist nicht mehr nur ein Tool zum Schreiben und Veröffentlichen von Blogbeiträgen. Im Laufe der Jahre hat es sich zu einem erweiterbaren, flexiblen und robusten Content-Management-System entwickelt. WordPress entwickelt sich langsam aber sicher zu einem vollwertigen Framework zum Erstellen von Web-Apps. Eines der Dinge, die dieses CMS so anpassbar machen, sind benutzerdefinierte Beitragstypen.

Standardmäßig verfügt WordPress über 5 Content-Post-Typen, von denen Ihnen 2 sehr bekannt vorkommen sollten: Post und Seite. Benutzer können jedoch so viele benutzerdefinierte Beitragstypen erstellen, wie sie benötigen, und sie verwenden, um WordPress an ihre Bedürfnisse anzupassen. In diesem Artikel machen wir uns mit benutzerdefinierten WordPress-Beitragstypen vertraut und erfahren, wie sie Ihnen beim Erstellen großartiger Websites helfen können. Wir werden zwei Möglichkeiten zum Erstellen benutzerdefinierter Beitragstypen behandeln: manuell und mithilfe eines Plugins.

Benutzerdefinierte WordPress-Beitragstypen

Standardmäßig enthält WordPress die folgenden Beitragstypen:

  • Post
  • Buchseite
  • Revision
  • Anhang
  • Navigationsmenü

WordPress behandelt jeden seiner Beitragstypen unterschiedlich – indem es einzigartige Optionen und Funktionen zulässt. Ein einfaches Beispiel wären Kategorien und Tags, die ausschließlich für den Beitragstyp „Beitrag“ gelten. Sie können Ihren Blog-Beitrag einer bestimmten Kategorie zuordnen, aber Sie können dasselbe nicht für eine statische Seite tun. Seiten hingegen können Eltern und Vorlagen haben.

Die bisher erwähnten Beitragstypen sind WordPress vorbehalten. Benutzer können ihre eigenen benutzerdefinierten Beitragstypen erstellen, um die Funktionalität der Website zu erweitern und ihre Inhalte besser zu organisieren. Normalerweise geht das Erstellen von benutzerdefinierten Beitragstypen Hand in Hand mit dem Erstellen von benutzerdefinierten Feldern und benutzerdefinierten Taxonomien, die es Ihnen ermöglichen, einzigartige Inhalte und Optionen einzufügen – spezifisch für einen bestimmten Beitragstyp. Aber lassen Sie uns diese für ein anderes Mal aufheben und uns darauf konzentrieren, einen eindeutigen Beitragstyp für unsere Website einzurichten.

Beispiele für benutzerdefinierte Beitragstypen

Ein Beitragstyp kann jede Art von Inhalt sein, den Sie für Ihre Website benötigen. Nehmen wir an, wir haben eine Podcast-Website, die Podcast-Episoden anzeigen und gelegentliche, aber separate Blog-Posts veröffentlichen muss. Wenn wir jetzt alle unsere Inhalte (Podcasts und Blog-Beiträge) an einem Ort mischen, wird unser Inhaltsbereich sehr schnell sehr chaotisch. Aus diesem Grund verwenden wir für unsere gelegentlichen Blog-Beiträge den Standard-Beitragstyp „Post“ in WordPress, der es uns ermöglicht, die Standard-Taxonomien zu verwenden: Kategorien und Tags.

Für unseren Podcast -Bereich erstellen wir einen benutzerdefinierten Beitragstyp namens Podcast . Auf diese Weise können wir die zwei verschiedenen Inhaltstypen auf der Website trennen und sie ordentlich organisieren. Später können wir benutzerdefinierte Felder für unseren Podcast-Bereich erstellen, z. B. Episodendauer, Show-Hosts, Links und so weiter. Darüber hinaus können wir benutzerdefinierte Taxonomien speziell für diese Art von Inhalten einrichten, z. B. Podcast-Kategorien, Podcast-Shows und mehr. Sie sehen, wohin das führt und wie viel Flexibilität WordPress in Bezug auf Inhaltsmanipulation und -struktur bietet.

Erstellen eines benutzerdefinierten Beitragstyps in WordPress

Es gibt zwei Möglichkeiten, wie Sie einen benutzerdefinierten Beitragstyp in WordPress erstellen können: manuell (ziemlich einfach, erfordert jedoch etwas Vertrautheit mit der Programmierung) und die Verwendung eines Plugins (viel einfachere Methode, erfordert jedoch, dass Sie das Plugin installiert lassen). Welche sollten Sie wählen? Viele Plugins zu haben, kann Ihnen aufgrund von Inkompatibilität, Leistungsproblemen und schlechtem Code Kopfschmerzen bereiten. Wenn Sie bereits unzählige Plugins installiert haben, sollten Sie sich dieses eine Mal die Hände schmutzig machen. Wir werden beide Methoden behandeln, und Sie entscheiden, welche für Sie am besten geeignet ist.

Verwendung eines Plugins

Es gibt eine Handvoll Plugins zum Erstellen benutzerdefinierter Beitragstypen. Eine der beliebtesten ist die Benutzeroberfläche für benutzerdefinierte Beitragstypen, mit der Sie auch benutzerdefinierte Taxonomien für Ihren Beitragstyp erstellen können.

Wichtiger Hinweis: Beitragstypen, die mit einem Plugin erstellt wurden, verschwinden, wenn Sie das betreffende Plugin entfernen. Die Daten befinden sich in der Datenbank, aber Ihr benutzerdefinierter Beitragstyp wird nicht mehr registriert und ist vom Admin-Bereich aus nicht erreichbar.

Die Benutzeroberfläche dieses Plugins ist ziemlich intuitiv und einfach. Sie klicken auf Neu hinzufügen und geben dann einen Beitragstypnamen, eine Bezeichnung, eine einzelne Bezeichnung und eine Beschreibung für den benutzerdefinierten Beitragstyp ein. Nicht, dass die 5 WordPress-Post-Typen reserviert sind und Sie diese Namen nicht verwenden können. Hier ist ein Beispiel dafür, was Sie eingeben sollten:

Name des Beitragstyps: Podcasts
Label: Podcasts
Name im Singular: Podcast
Beschreibung: Beitragstyp für Podcasting

Das Namensfeld im Singular wird von WordPress verwendet, um einige UI-Elemente und Aktionen wie „Neuen Podcast hinzufügen“ anzuzeigen.

Manuell

Um einen benutzerdefinierten Beitragstyp manuell zu erstellen, müssen Sie die functions.php Ihres Themas ändern. Verwenden Sie Ihren bevorzugten FTP-Client und melden Sie sich bei dem Server an, auf dem Ihre Website gehostet wird. Sobald die Verbindung hergestellt ist, müssen Sie:
1. Navigieren Sie zu wp-content -> themes -> your theme
2. Funktionen.php öffnen
3. Wenn Sie ein untergeordnetes Thema verwenden und es keine solche Datei gibt, erstellen Sie es.
4. Geben Sie den folgenden Code ein.

Gemäß unserem Beispiel müssen wir einen benutzerdefinierten Podcast-Beitragstyp erstellen. Hier ist der Code dafür (ab Schritt 4: Der folgende Code kommt in Ihre functions.php-Datei):

 // Registering CPT function podcast_post_type() { //Setting up the user interface labels for podcasting CPT $labels = array( 'name' => _x( 'Podcasts', 'Post Type General Name' ), 'singular_name' => _x( 'Podcast', 'Post Type Singular Name' ), 'menu_name' => __( 'Podcasts' ), 'name_admin_bar' => __( 'Podcast' ), 'parent_item_colon' => __( 'Parent Podcast' ), 'all_items' => __( 'All Podcasts' ), 'add_new_item' => __( 'Post New Podcast' ), 'add_new' => __( 'New Podcast' ), 'new_item' => __( 'New Podcast' ), 'edit_item' => __( 'Edit Podcast' ), 'update_item' => __( 'Update Podcast' ), 'view_item' => __( 'View Podcast' ), 'search_items' => __( 'Search Podcasts' ), 'not_found' => __( 'No Podcasts found' ), 'not_found_in_trash' => __( 'No Podcasts found in trash' ) ); //Setting up other options for Podcasts CPT $args = array( 'label' => __( 'Podcasts' ), 'labels' => $labels, 'description' => __( 'Creating and managing podcasts' ), 'supports' => array( 'title', 'editor', 'excerpt', 'thumbnail', 'comments', 'revisions', 'custom-fields' ), //Initially supported features 'taxonomies' => array( 'podcast-category'), //If custom taxonomies exist, insert their names in the array 'hierarchical' => false, 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'menu_position' => 5, 'show_in_admin_bar' => true, 'show_in_nav_menus' => true, 'can_export' => true, 'has_archive' => true, 'exclude_from_search' => false, 'publicly_queryable' => true, ); //Registering custom post type register_post_type( 'podcasts', $args ); } // Hook into init action add_action( 'init', 'podcasts_post_type', 0 );

Dieser Teil des Codes mag kompliziert aussehen, ist es aber nicht. Sie fügen nur eine Reihe von Optionen für den benutzerdefinierten Beitragstyp ein und geben an, was er unterstützen wird. Beachten Sie, dass:

  • Das Array $labels teilt WordPress mit, wie der Beitragstyp im Admin-Bereich angezeigt werden soll.
  • Das $args-Array lädt die gesamte Konfiguration aus dem $labels-Array und gibt die Optionen für den benutzerdefinierten Beitragstyp an.
  • Die Magie passiert, wenn die Funktion register_post_type( 'podcasts', $args ) innerhalb der Hauptfunktion podcasts_post_type() mit 2 Argumenten aufgerufen wird: dem Namen des benutzerdefinierten Beitragstyps und den in $args (einem assoziativen Array) gespeicherten Optionen. Dann verknüpfen wir einfach die Funktion podcasts_post_type() mit init und lassen WordPress sie laden.

Wenn Sie auf Speichern klicken und die geänderte functions.php in den Ordner Ihres Themes hochladen, sollten Sie Podcasts (nur unterhalb von Posts, weil wir die menu_position in $args auf 5 setzen) in Ihrem WordPress-Admin-Panel sehen. Wenn Sie den Mauszeiger darüber bewegen, sollten Sie Aktionen wie „Alle Podcasts“ und „Neuen Podcast hinzufügen“ sehen – genau wie wir es im $labels-Array angegeben haben. Da wir keine benutzerdefinierten Felder eingefügt haben, ist beim Versuch, einen neuen Podcast hinzuzufügen, alles so, als ob Sie einen gewöhnlichen Beitrag hinzufügen würden.

Wie Sie bemerkt haben, haben wir im $args-Array „Podcasts“ als Taxonomie hinzugefügt. Wir haben diese Taxonomie noch nicht erstellt, aber sie wird letztendlich unsere benutzerdefinierten Kategorien wie Podcast-Kategorien, Podcast-Shows usw. enthalten.

Wenn es um benutzerdefinierte WordPress-Beitragstypen geht, ist dies wirklich alles, was Sie jetzt brauchen. Nun stellt sich die Frage, wie Sie Inhalte aus Ihrem CPT anzeigen, wie Sie Taxonomien erstellen (in unserem Fall die Podcast-Taxonomie) und wie Sie benutzerdefinierte Felder erstellen. Keine Sorge, wir werden all dies Schritt für Schritt behandeln!