WordPress ist ein flexibles Content-Management-System, das es ermöglicht, verschiedene Arten von Inhalten auf einer Website zu verwalten. Standardmäßig bietet WordPress Post Types wie Beiträge und Seiten an. Doch was, wenn du Inhalte verwalten möchtest, die nicht in diese Kategorien passen? Hier kommen Custom Post Types ins Spiel.
Was genau sind Custom Post Types?
Custom Post Types (CPT) sind benutzerdefinierte Inhaltstypen, die über die standardmäßigen Beiträge und Seiten hinausgehen. Sie erlauben es dir, spezifische Inhalte zu strukturieren und zu organisieren. Beispiele für Custom Post Types sind:
- Produkte für einen Online-Shop
- Events für eine Veranstaltungsseite
- Testimonials für Kundenbewertungen
- Portfolio für kreative Arbeiten
Durch die Verwendung von Custom Post Types kannst du deine Inhalte besser organisieren und den Administrationsbereich von WordPress übersichtlicher gestalten.
Custom Taxonomies
Neben Custom Post Types gibt es auch Custom Taxonomies. Diese dienen dazu, Inhalte zu kategorisieren und zu taggen. Während die Standard-Taxonomien in WordPress Kategorien und Schlagwörter sind, kannst du eigene Taxonomien erstellen, um Inhalte besser zu strukturieren.
Beispiele für Custom Taxonomies:
- Genre für Bücher oder Filme
- Themenbereiche für ein Portfolio
- Standorte für Events
Custom Taxonomies helfen dabei, Beziehungen zwischen Inhalten herzustellen und dem Benutzer eine bessere Navigation zu ermöglichen.
Custom Post Types im praktischen Einsatz
Anwendungsbeispiele:
- Online-Shop: Ein Custom Post Type namens „Produkte“ ermöglicht es, Produkte mit spezifischen Feldern wie Preis, Größe und Farbe zu verwalten.
- Event-Management: Mit einem Custom Post Type „Events“ kannst du Veranstaltungen mit Datum, Ort und Tickets verwalten.
- Portfolio-Seite: Kreative können einen Custom Post Type „Portfolio“ nutzen, um ihre Arbeiten nach Typ oder Stil zu organisieren.
Durch die Nutzung von Custom Post Types und Taxonomies kannst du die Funktionalität deiner WordPress-Website erheblich erweitern und an deine spezifischen Bedürfnisse anpassen.
Custom Post Type registrieren
Es gibt zwei Hauptmethoden, um Custom Post Types zu erstellen:
- Mit Plugins
- Mit Code
1. Custom Post Types mit Plugins hinzufügen
Es gibt mehrere Plugins, die das Erstellen von Custom Post Types erleichtern, ohne dass du Code schreiben musst. Einige beliebte Plugins sind:
- Custom Post Type UI: Ein benutzerfreundliches Plugin zum Erstellen von CPTs und Taxonomies.
- Pods: Ermöglicht das Erstellen von CPTs und bietet erweiterte Funktionen wie benutzerdefinierte Felder.
- Advanced Custom Fields (ACF): Freemium Plugin
Vorteile der Verwendung von Plugins:
- Einfachheit: Kein Code erforderlich.
- Zeitersparnis: Schnelle Einrichtung.
- Benutzerfreundlichkeit: Intuitive Benutzeroberflächen.
2. Custom Post Types mit Code hinzufügen
Für mehr Kontrolle und bessere Performance kannst du Custom Post Types direkt über dein Theme oder ein Child-Theme registrieren. Dies erfolgt durch Hinzufügen von Code in die functions.php
-Datei deines Themes.
Code-Beispiel:
<?php
function erstelle_custom_post_type() {
$labels = array(
'name' => 'Bücher',
'singular_name' => 'Buch',
'menu_name' => 'Bücher',
'name_admin_bar' => 'Buch',
'add_new' => 'Neues Buch hinzufügen',
'add_new_item' => 'Neues Buch hinzufügen',
'new_item' => 'Neues Buch',
'edit_item' => 'Buch bearbeiten',
'view_item' => 'Buch ansehen',
'all_items' => 'Alle Bücher',
'search_items' => 'Bücher suchen',
'not_found' => 'Keine Bücher gefunden.',
'not_found_in_trash' => 'Keine Bücher im Papierkorb gefunden.',
);
$args = array(
'labels' => $labels,
'description' => 'Ein benutzerdefinierter Post Type für Bücher',
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => array('slug' => 'buecher'),
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => 5,
'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments'),
'show_in_rest' => true, // Aktiviert den Gutenberg-Editor
);
register_post_type('buch', $args);
}
add_action('init', 'erstelle_custom_post_type');
?>
register_post_type('buch', $args);
: Registriert den Custom Post Type mit dem Namen „buch“.$labels
: Enthält die Bezeichnungen für den Admin-Bereich.$args
: Enthält die Einstellungen für den Custom Post Type, wie Sichtbarkeit, Unterstützung von Funktionen und mehr.
Custom Taxonomy hinzufügen:
Du kannst auch eine benutzerdefinierte Taxonomy für deinen Custom Post Type registrieren.
Code-Beispiel für Taxonomy:
<?php
function erstelle_custom_taxonomy() {
$labels = array(
'name' => 'Genres',
'singular_name' => 'Genre',
'search_items' => 'Genres durchsuchen',
'all_items' => 'Alle Genres',
'parent_item' => 'Übergeordnetes Genre',
'parent_item_colon' => 'Übergeordnetes Genre:',
'edit_item' => 'Genre bearbeiten',
'update_item' => 'Genre aktualisieren',
'add_new_item' => 'Neues Genre hinzufügen',
'new_item_name' => 'Neuer Genre-Name',
'menu_name' => 'Genre',
);
$args = array(
'hierarchical' => true, // Wie Kategorien
'labels' => $labels,
'show_ui' => true,
'show_in_rest' => true, // Aktiviert Gutenberg-Unterstützung
'query_var' => true,
'rewrite' => array('slug' => 'genre'),
);
register_taxonomy('genre', array('buch'), $args);
}
add_action('init', 'erstelle_custom_taxonomy');
?>
register_taxonomy('genre', array('buch'), $args);
: Registriert eine Taxonomy namens „genre“ für den Custom Post Type „buch“.$labels
: Bezeichnungen für den Admin-Bereich.$args
: Einstellungen für die Taxonomy.
Vorteile der Verwendung von Code:
- Flexibilität: Vollständige Kontrolle über Funktionen und Einstellungen.
- Performance: Weniger Abhängigkeit von Plugins kann die Ladezeiten verbessern.
- Anpassbarkeit: Möglichkeit, den Code nach Bedarf zu erweitern.
Custom Post Types und Taxonomies sind leistungsstarke Werkzeuge, um WordPress an individuelle Bedürfnisse anzupassen. Ob du Plugins verwendest oder den Code selbst schreibst, hängt von deinen Fähigkeiten und Anforderungen ab. Für einfache Implementierungen sind Plugins oft ausreichend, während komplexe Projekte von der Flexibilität des eigenen Codes profitieren.
Tipps:
- Sicherung: Vor Änderungen am Code immer ein Backup der Website erstellen.
- Child-Theme verwenden: Um Änderungen updatesicher zu machen, solltest du ein Child-Theme nutzen.
- Dokumentation: Die WordPress Codex bietet ausführliche Informationen zur Funktion
register_post_type()
.
Mit Custom Post Types und Taxonomies hebst du deine WordPress-Website auf ein neues Level und bietest deinen Besuchern eine maßgeschneiderte Erfahrung.