wordpress-custom-post-type  wordpress-custom-post-type-tutorial  wordpress-custom-taxonomie 

| - WordPress Custom Post Typ erstellen: So gehts

Dank WordPress ist man nicht nur auf einen Post Type beschränkt. Der bekannteste Post Type sind Beiträge. Du kannst aber auch viele weitere hinzufügen. Bei deinem eigenen Post Type kannst du dann auch Tags und Kategorien hinzufügen. Wie das geht erfährst du in diesem Beitrag.

Was ist ein WordPress Custom Post Type?

Angenommen du möchtest nicht nur Beiträge veröffentlichen, sondern auch mal andere Dinge wie : Sprüche oder Rezepte usw. Dann eignet sich dafür ein Custom Post Type. Du hast dann einen neuen Menüpunkt in deinem Backend genau für solche Inhalte.

  • So kommt nichts durcheinander und alle verschiedenen Arten von Inhalten bleiben unter sich.
  • Das ist der prinzipielle Gedanke dahinter.

WordPress Custom Post Type erstellen

Um einen neuen Post Type zu erstellen musst du die functions.php bearbeiten. Die findest du in deinem

WordPress Theme Ordner : wp-content/themes/meintheme/functions.php

Code einfügen

Diese Funktion erstellt einen WordPress Custom Post Type. Als Beispiel sind es hier Autos. Anschließend fügen wir noch Tags & Kategorien hinzu.

function my_custom_post_type() {

$labels = array(
'name' => _x( 'autos', 'Post Type General Name', 'sitename' ),
'singular_name' => _x( 'Autos', 'Post Type Singular Name', 'sitename' ),
'menu_name' => __( 'Autos', 'sitename' ),
'parent_item_colon' => __( 'Parent Meme', 'sitename' ),
'all_items' => __( 'Alle Autos', 'sitename' ),
'view_item' => __( 'Autos ansehen', 'sitename' ),
'add_new_item' => __( 'Auto hinzufügen', 'sitename' ),
'add_new' => __( 'Neues Auto', 'sitename' ),
'edit_item' => __( 'Edit Autos', 'sitename' ),
'update_item' => __( 'Update Autos', 'sitename' ),
'search_items' => __( 'Search Autos', 'sitename' ),
'not_found' => __( 'Not Found', 'sitename' ),
'not_found_in_trash' => __( 'Not found in Trash', 'sitename' ),
);

// weitere Einstellungen für den Custom Post Type

$args = array(
'label' => __( 'Autos', 'sitename' ),
'description' => __( 'Das ist mein erster Custom Post Type', 'sitename' ),
'labels' => $labels,
// Funktionen die dein Editor unterstützen soll
'supports' => array( 'title', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', 'post_tag' ),
// Hier kannst wird deine Custom Taxonomie geladen
'taxonomies'          => array( 'custom_post_cat','custom_post_tags' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_icon' => 'dashicons-format-status',
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'menu_position' => 5,
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'page',
);

// Registering your Custom Post Type
register_post_type( 'autos', $args );

}

add_action( 'init', 'my_custom_post_type', 0 );

Kategorien zu Custom Post hinzufügen

Nachdem wir jetzt unseren ersten WordPress Custom Post Type erstellt haben. Kannst du noch Kategorien hinzufügen. Dazu müssen wir eine Custom Taxonomie erstellen und in deinem Custom Post laden.

Code einfügen

function my_custom_post_type_cat() {
         $labels = array(
               'name'                       => __( 'custom_post_cat'),
               'singular_name'              => __( 'custom_post_cat'),
               'search_items'               => __( 'Kategorie durchsuchen' ),
               'popular_items'              => __( 'Beliebte Kategorie' ),
               'all_items'                  => __( 'Alle Kategorie' ),
               'parent_item'                => null,
               'parent_item_colon'          => null,
               'edit_item'                  => __( 'Kategorie bearbeiten' ),
               'update_item'                => __( 'Kategorie aktualisieren' ),
               'add_new_item'               => __( 'Neue Kategorie hinzufügen' ),
               'new_item_name'              => __( 'Neue Kategorie' ),
               'separate_items_with_commas' => __( 'Kategorie mit Kommas trennen' ),
               'add_or_remove_items'        => __( 'Kategorie hinzufügen oder entfernen' ),
               'choose_from_most_used'      => __( 'Aus den meist verwendeten Kategorie aussuchen' ),
               'not_found'                  => __( 'Keine Kategorie gefunden.' ),
               'menu_name'                  => __( 'Kategorie: Autos' ),
        );

         $args = array(
               'hierarchical'          => true,
               'labels'                => $labels,
               'show_ui'               => true,
               'show_admin_column'     => true,
               'update_count_callback' => '_update_post_term_count',
               'query_var'             => true,
               'rewrite'               => array( 'slug' => 'sections' ),
        );

        register_taxonomy( 'custom_post_cat', 'autos', $args );
}

add_action( 'init', 'my_custom_post_type_kat', 0 );


Tags zu Custom Post hinzufügen

Wenn du eigene Tags in deinem Custom Post Type haben möchtest kannst du einfach noch eine Custom Taxonomie für die Tags anlegen und sie in deinen Custom Post laden.

Code einfügen

function my_custom_post_type_tags() {
         $labels = array(
               'name'                       => __( 'custom_post_tags'),
               'singular_name'              => __( 'custom_post_tags'),
               'search_items'               => __( 'Tags durchsuchen' ),
               'popular_items'              => __( 'Beliebte Tags' ),
               'all_items'                  => __( 'Alle Tags' ),
               'parent_item'                => null,
               'parent_item_colon'          => null,
               'edit_item'                  => __( 'Tags bearbeiten' ),
               'update_item'                => __( 'Tags aktualisieren' ),
               'add_new_item'               => __( 'Neue Tags hinzufügen' ),
               'new_item_name'              => __( 'Neue Tags' ),
               'separate_items_with_commas' => __( 'Tags mit Kommas trennen' ),
               'add_or_remove_items'        => __( 'Tags hinzufügen oder entfernen' ),
               'choose_from_most_used'      => __( 'Aus den meist verwendeten Tags aussuchen' ),
               'not_found'                  => __( 'Keine Tags gefunden.' ),
               'menu_name'                  => __( 'Tag: Autos' ),
        );

         $args = array(
               'hierarchical'          => false,
               'labels'                => $labels,
               'show_ui'               => true,
               'show_admin_column'     => true,
               'update_count_callback' => '_update_post_term_count',
               'query_var'             => true,
               'rewrite'               => array( 'slug' => 'tagz' ),
        );

        register_taxonomy( 'custom_post_tags', 'autos', $args );
}

add_action( 'init', 'my_custom_post_type_tags', 0 );

FAQ: WordPress Custom Post Type

Hier noch ein paar meistgestellte Fragen rund um das Thema WordPress Custom Post Type & Custom Taxonomie.

Wie kann ich das Symbol im Backend ändern?

Das Symbol findest du unter 'menu_icon' => 'dashicons-format-status' . Du kannst einfach den Namen eines anderen Dashicons wählen.

Wie kann ich die Position des Custom Posts im Backend bestimmen?

Unter 'menu_position' => 5 kannst du bestimmen an welcher position dein Custom Post angezeigt wird.

Fazit

Es ist eigentlich garnicht schwer einen eigen WordPress Custom Post Type zu erstellen. Allerdings richtet sich diese Anleitung wirklich nur an Fortgeschrittene WordPress Entwickler die wissen was sie tun. Daher kann ich keine Garantie auf die Richtigkeit geben.

Bei allen Anderungen solltest du wissen was du tutst :). Viel Erfolg

 




weitere Beiträge zum Thema Wordpress




Schreibe einen Kommentar



18802