{"id":838,"date":"2019-12-12T22:42:40","date_gmt":"2019-12-12T21:42:40","guid":{"rendered":"https:\/\/www.mightypress.de\/?p=838"},"modified":"2021-06-23T22:54:49","modified_gmt":"2021-06-23T22:54:49","slug":"wordpress-custom-post-types","status":"publish","type":"post","link":"https:\/\/wpfellows.com\/de\/wordpress-custom-post-types\/","title":{"rendered":"WordPress Custom Post Types – die komplette Einf\u00fchrung"},"content":{"rendered":"
Als ich das erste Mal mit Custom Post Types in WordPress in Kontakt gekommen bin, muss ich ganz ehrlich zugeben, dass ich das Prinzip nicht verstanden habe. Ich habe das Thema Custom Post Types dann erst mal beiseite geschoben, um mich anderen, in meinen Augen zuzuwenden.<\/p>
Wenn ich damals gewusst, wie m\u00e4chtig Custom Post Types in WordPress sind, h\u00e4tte ich mich wahrscheinlich mit Feuereifer daran gesetzt, das Prinzip so schnell wie m\u00f6glich zu verstehen.<\/p>
Um dir den gleichen Fehler zu ersparen, erkl\u00e4re ich dir in diesem Artikel das Thema gro\u00dfteils auf einfache Weise. So kannst du dieses Werkzeug f\u00fcr deine eigene WordPress Website<\/a> schnell und einfach selbst einsetzen.<\/p> WordPress verf\u00fcgt \u00fcber eine ganze Reihe von eigenen Posttypen. Platt gesagt, sind damit Beitragsarten gemeint. Die wichtigsten zwei Beitragsart in sind die Beitr\u00e4ge selbst und die Seiten.<\/p> Custom Post Types versetzen dich nun aber in die Lage, deine komplett eigenen Beitragsarten zu schaffen und zwar so wie du sie haben m\u00f6chtest.<\/p> Wenn du zum Beispiel Kochrezepte auf deiner Website ver\u00f6ffentlichen m\u00f6chtest, w\u00e4re es ja total un\u00fcbersichtlich, wenn diese Kochrezepte bei den normalen Beitr\u00e4gen stehen w\u00fcrden. Du h\u00e4ttest dann auf der Beitrags\u00fcbersichtsseite nicht nur deine Rezepte, sondern auch alle anderen Beitr\u00e4ge, die du auf deiner Website ver\u00f6ffentlicht.<\/p> Mit Custom Post Types geh\u00f6rt diese Un\u00fcbersichtlichkeit der Vergangenheit an. So kannst du zum Beispiel f\u00fcr die Kochrezepte einen eigenen Custom Post Types mit Namen Rezepte anlegen und dieser bekommt im Administrationsbereich von WordPress seinen eigenen Men\u00fcpunkt.<\/p> Ein weiterer Vorteil von Custom Post Types liegt darin, dass WordPress automatisch \u00fcber 60 Seiten, also Archivseiten f\u00fcr diese Custom Post Types angelegt. Du hast sogar die M\u00f6glichkeit, eine Custom Post Types ein komplett eigenes Templates f\u00fcr die Kategorieseite zuzuweisen. So kannst du alle Artikel innerhalb dieses Custom Post Types liegen, sehr \u00fcbersichtlich auf deiner Website darstellen und in die Hauptnavigation einbinden.<\/p> Filialen\/Unternehmensstandorte Koch- und Backrezepte Mitarbeiter\/Teammitglieder Portfolios von Designer und Grafikern<\/strong> Das sind jetzt nur ein paar Anwendungsm\u00f6glichkeiten f\u00fcr einen Custom Post Type in WordPress. Ich k\u00f6nnte diese Auflistung jetzt noch ewig weiterf\u00fchren, aber das Prinzip ist ja jetzt klar geworden.<\/p> Um eigene Custom Post Types in WordPress anlegen zu k\u00f6nnen, m\u00fcssen wir ein wenig in deinem Code rumfummeln. Genauer: wir m\u00fcssen eine Erg\u00e4nzung in deiner functions.php Datei vornehmen. Was jetzt aber ganz heftig klingt, ist eigentlich sehr schnell und einfach umgesetzt. Da musst du selbst als Anf\u00e4nger keine Manschettenvorhaben.<\/p> Nehmen wir mal an, dass wir ein Custom Post Types namens Rezepte f\u00fcr deine WordPress Seite anlegen wollen. Dann nehmen wir folgenden Codeschnipsel und f\u00fcgen ihn in deine functions.php Datei ein:<\/p> Wenn du einen eigenen Custom Post Type in deinen Theme einf\u00fcgen m\u00f6chtest, kannst du daf\u00fcr dieses Custom Post Type Template nutzen. <\/p> Du musst nur die Worte \u201eRezept\u201c und \u201eRezepte\u201c auf dein gew\u00fcnschtes Thema anpassen.<\/p> Es gibt ja wirklich nichts, wof\u00fcr es nicht auch ein Plugin in WordPress gibt. Und ganz selbst verst\u00e4ndlich gibt es auch WordPress Custom Post Type Plugins f\u00fcr WordPress, die dir bei der Arbeit helfen.<\/p> Wenn du dich mit dem Codeschnipsel oben also ein wenig unwohl f\u00fchlst, kannst du das Ganze auch direkt mit dem kostenlosen Custom Post Type UI Plugin<\/a> umsetzen.<\/p>Was sind WordPress Custom Post Types?<\/h2>
Beispiele f\u00fcr den Einsatz von Custom Post Types<\/h2>
<\/strong>Hast du ein Unternehmen mit mehreren Standorten? Dann kannst du f\u00fcr jeden Standort eine eigene Beschreibungsseite anlegen und daf\u00fcr eine Custom Post Types namens Standorte verwenden.<\/p>
<\/strong>Hast du eine ganze Reihe von Kochrezepten, die du auf deiner Seite ver\u00f6ffentlichen m\u00f6chtest? Dann l\u00e4sst sich auch dies prima mit Custom Post Types in WordPress umsetzen.<\/p>
<\/strong>Hat dein Unternehmen mehrere Mitarbeiter, die du auf Detailseiten vorstellen m\u00f6chtest? Ein Custom Post Types namens Team k\u00f6nnte dir dabei helfen.<\/p>
M\u00f6chtest du vielleicht als Designer dein Portfolio vorstellen? Auch das geht ganz perfekt mit einem Custom Post Types in WordPress. Die meisten fertigen Themes die du f\u00fcr WordPress kaufen kannst, enthalten in der Regel sogar schon einen Custom Post Types Namensportfolio. Wenn du also nicht auf einen gekauften Film zur\u00fcckgreifen m\u00f6chtest, sondern die Sache lieber selbst in die Hand nimmst, kannst du mit dieser Anleitung dein Portfolio auch selbst anlegen.<\/p>Custom Post Types in WordPress ohne Plugin anlegen<\/h2>
Ein WordPress Custom Post Type Template f\u00fcr dich<\/h3>
\/\/ Register Custom Post Type\nfunction custom_post_type_rezepte() {\n\n\t$labels = array(\n\t\t'name' => _x( 'Rezepte', 'Post Type General Name', 'text_domain' ),\n\t\t'singular_name' => _x( 'Rezept', 'Post Type Singular Name', 'text_domain' ),\n\t\t'menu_name' => __( 'Rezepte', 'text_domain' ),\n\t\t'name_admin_bar' => __( 'Rezepte', 'text_domain' ),\n\t\t'archives' => __( 'Rezept Archiv', 'text_domain' ),\n\t\t'attributes' => __( 'Item Attributes', 'text_domain' ),\n\t\t'parent_item_colon' => __( 'Parent Item:', 'text_domain' ),\n\t\t'all_items' => __( 'Alle Rezepte', 'text_domain' ),\n\t\t'add_new_item' => __( 'Neues Rezept hinzuf\u00fcgen', 'text_domain' ),\n\t\t'add_new' => __( 'Neues Rezept', 'text_domain' ),\n\t\t'new_item' => __( 'Neues Rezept', 'text_domain' ),\n\t\t'edit_item' => __( 'Rezept bearbeiten', 'text_domain' ),\n\t\t'update_item' => __( 'Rezept aktualisieren', 'text_domain' ),\n\t\t'view_item' => __( 'Rezept ansehen', 'text_domain' ),\n\t\t'view_items' => __( 'Rezepte anschauen', 'text_domain' ),\n\t\t'search_items' => __( 'Rezept suchen', 'text_domain' ),\n\t\t'not_found' => __( 'Nicht gefunden', 'text_domain' ),\n\t\t'not_found_in_trash' => __( 'Nicht im Papierkorb gefunden', 'text_domain' ),\n\t\t'featured_image' => __( 'Beitragsbild', 'text_domain' ),\n\t\t'set_featured_image' => __( 'Beitragsbild setzen', 'text_domain' ),\n\t\t'remove_featured_image' => __( 'Beitragsbild entfernen', 'text_domain' ),\n\t\t'use_featured_image' => __( 'Als Beitragsbild nutzen', 'text_domain' ),\n\t\t'insert_into_item' => __( 'Insert into item', 'text_domain' ),\n\t\t'uploaded_to_this_item' => __( 'F\u00fcr diesen Beitrag hochgeladen', 'text_domain' ),\n\t\t'items_list' => __( 'Rezepte Liste', 'text_domain' ),\n\t\t'items_list_navigation' => __( 'Items list navigation', 'text_domain' ),\n\t\t'filter_items_list' => __( 'Filter items list', 'text_domain' ),\n\t);\n\t$rewrite = array(\n\t\t'slug' => 'rezepte',\n\t\t'with_front' => true,\n\t\t'pages' => true,\n\t\t'feeds' => false,\n\t);\n\t$args = array(\n\t\t'label' => __( 'Rezept', 'text_domain' ),\n\t\t'description' => __( 'Custom Post Type f\u00fcr Rezepte', 'text_domain' ),\n\t\t'labels' => $labels,\n\t\t'supports' => array( 'title', 'editor', 'comments', 'revisions' ),\n\t\t'taxonomies' => array( 'category', 'post_tag' ),\n\t\t'hierarchical' => false,\n\t\t'public' => true,\n\t\t'show_ui' => true,\n\t\t'show_in_menu' => true,\n\t\t'menu_position' => 5,\n\t\t'menu_icon' => 'dashicons-buddicons-community',\n\t\t'show_in_admin_bar' => true,\n\t\t'show_in_nav_menus' => true,\n\t\t'can_export' => true,\n\t\t'has_archive' => true,\n\t\t'exclude_from_search' => false,\n\t\t'publicly_queryable' => true,\n\t\t'rewrite' => $rewrite,\n\t\t'capability_type' => 'page',\n\t);\n\tregister_post_type( 'rezepte', $args );\n\n}\nadd_action( 'init', 'custom_post_type_rezepte', 0 );<\/code><\/pre>
CPTs mit einem WordPress Custom Posttype Plugin hinzuf\u00fcgen<\/h2>