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.
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.
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
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 );
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.
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 );
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.
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 );
Hier noch ein paar meistgestellte Fragen rund um das Thema WordPress Custom Post Type & Custom Taxonomie.
[sc_fs_multi_faq headline-0=“h3″ question-0=“Wie kann ich das Symbol im Backend ändern?“ answer-0=“Das Symbol findest du unter ‚menu_icon‘ => ‚dashicons-format-status‘ . Du kannst einfach den Namen eines anderen Dashicons wählen.“ image-0=““ headline-1=“h3″ question-1=“Wie kann ich die Position des Custom Posts im Backend bestimmen?“ answer-1=“Unter ‚menu_position‘ => 5 kannst du bestimmen an welcher position dein Custom Post angezeigt wird.“ image-1=““ count=“2″ html=“true“ css_class=““]
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
Hi ich bin’s Dominik. Auf Blogseite.com findest du alles was mich interessiert. Mag Games, liebe SEO, programmiere gerne und möchte dir mit verschiedenen Themen die mich begeistern einen Mehrwert liefern. Viel Spaß auf meiner Seite