Benutzerdefinierte Posttypen (Custom Post Types) sind eine großartige Möglichkeit, Ihre Daten zu strukturieren und dem Endbenutzer zur Verfügung zu stellen.
Es stehen wie immer WordPress Plugins zum Herunterladen zur Verfügung, mit denen benutzerdefinierte Posttypen erstellt und verwaltet werden können, oder Sie lösen es selbst mit wenigen Zeilen Code.
Custom Post Type für WordPress erstellen
Das Erstellen von benutzerdefinierten Posttypen für ein Genesis Child-Theme ist so ziemlich wie jedes andere WordPress Theme. Diese benutzerdefinierten Posttypen können in der functions.php Ihres Child-Themes erstellt werden.
Im folgenden Beispiel erstellen wir einen neuen benutzerdefinierten Posttyp für ein Unternehmen mit fiktiven Behandlungen, die im Wesentlichen einen benutzerdefinierten Posttyp erfordern, der zur Speicherung verschiedener Details verwendet wird.
*Custom Post Type Behandlungen*/
add_action( 'init', 'create_custom_post_type' );
function create_custom_post_type() {
$labels = array(
'name' => __( 'Behandlungen' ),
'singular_name' => __( 'Behandlung' ),
'all_items' => __('Alle Behandlungen'),
'add_new' => _x('Neue Behandlung hinzufügen', 'Behandlungen'),
'add_new_item' => __('Neue Behandlung'),
'edit_item' => __('Behandlung bearbeiten'),
'new_item' => __('Neue Behandlung'),
'view_item' => __('Zeige Behandlung'),
'search_items' => __('Suche in Behandlungen'),
'not_found' => __('Keine Behandlungen gefunden'),
'not_found_in_trash' => __('Keine Behandlungen im Papierkorb'),
'parent_item_colon' => ''
);
$args = array(
'labels' => $labels,
'public' => true,
'has_archive' => true,
'menu_icon' => 'dashicons-universal-access-alt',
'show_in_rest' => true,
'rewrite' => array('slug' => 'behandlung'),
'supports' => array( 'title', 'editor', 'thumbnail' , 'custom-fields', 'excerpt', 'genesis-seo', 'genesis-cpt-archives-settings' )
);
register_post_type( 'Behandlungen', $args);
}
Code-Sprache: PHP (php)
Die add_action-Zeile oben erstellt den benutzerdefinierten Posttyp aus der Funktion darunter. Die Funktion darunter kann beliebig aufgerufen werden, aber derselbe Funktionsname muss im add_action-Argument nach ‚init‘ verwendet werden,
Im Funktionsteil des Codes unterhalb des Funktionsnamens create_custom_post_type haben wir eine Reihe von Argumenten, die an den neuen benutzerdefinierten Beitragstyp übergeben werden. Es gibt zwei Hauptarrays von Argumenten, wobei das labels-Array dem benutzerdefinierten Beitragstyp einen Namen im Singular und Plural gibt, während das args-Array das Hauptarray ist, das auch die Variable $labels enthält, dann das public-Argument hat, das es Front- und Backend anzeigen lässt und es erlaubt, den Beitrag zu durchsuchen, und has_archive gibt ihm ein Archiv.
Das Rewrite-Argument und Array gibt der „slug“-URL einen Begriff, der der benutzerdefinierten URL des Beitrags vorangestellt wird, ähnlich wie es bei einer Kategorie der Fall wäre. Dies wird die URL sein, die die Archivauflistung all derselben benutzerdefinierten Beitragstypen anzeigt, ähnlich wie bei der Blogroll. Es ist nicht obligatorisch, aber sinnvoll, da dies eine logische Strukturierung der Daten darstellt.
Unterhalb des $args-Arrays, aber innerhalb der gleichen Funktion create_custom_post_type () verwenden wir eine WordPress-Funktion namens register_post_type, um den neuen benutzerdefinierten Posttyp zu registrieren und ihn behandlungen zu nennen sowie alle Argumente, die damit einhergehen, durch Ausdrücken der Variablen $args zu registrieren.
Mit dieser Funktion haben wir nun einen benutzerdefinierten Posttyp im WordPress-Dashboard.
’show_in_rest‘ => true ist verantwortlich für die Verwendung des Gutenberg Editor. Unter ’supports‘ legen Sie fest welche Spezifikationen der Posttype unterstützen soll.
Sie haben Fragen oder Anregungen zum Thema ? Wir freuen uns auf Ihr Feedback.