{"id":1850,"date":"2013-05-21T21:37:35","date_gmt":"2013-05-21T19:37:35","guid":{"rendered":"http:\/\/lloc.de\/?p=1850"},"modified":"2013-05-21T21:37:35","modified_gmt":"2013-05-21T19:37:35","slug":"custom-post-types-quickstart","status":"publish","type":"post","link":"https:\/\/ploetner.io\/de\/custom-post-types-quickstart\/","title":{"rendered":"Custom Post Types Quickstart"},"content":{"rendered":"<p>Ich bin immer wieder erstaunt, wie einfallsreich so mancher Kollege vorgeht, die verschiedenen Arten von Inhalten unserer Kundschaft zu organisieren, ohne\u00a0<a href=\"http:\/\/codex.wordpress.org\/Post_Types#Custom_Post_Types\">Custom Post Types<\/a> einzusetzen. Fast scheint es, als wenn um jeden Preis vermieden werden soll, die nach meinem Empfinden \u00e4u\u00dferst sinnvolle M\u00f6glichkeit einzusetzen, eigene Typen von Posts definieren zu k\u00f6nnen.<\/p>\n<p><!--more--><\/p>\n<p>Zum Erstellen von <strong>Custom Post Types<\/strong> kann man beispielsweise auf <a href=\"http:\/\/wordpress.org\/plugins\/tags\/custom-post-types\">Plugins<\/a> zur\u00fcckgreifen. Auch daf\u00fcr &#8211; da bin ich mir sicher &#8211; gibt es so einige denkbare Szenarien. Wer allerdings vor etwas Code nicht zur\u00fcckschreckt, sollte sich die Dokumentation der Funktion <a href=\"http:\/\/codex.wordpress.org\/Function_Reference\/register_post_type\">register_post_type<\/a> einmal genauer ansehen.<\/p>\n<p><em>Keine Sorge! Nur ansehen, um zu erahnen, wie weit der Begriff &#8222;Custom&#8220; gefasst ist und was sich da alles so einstellen l\u00e4sst.<\/em><\/p>\n<p>Im einfachsten Fall wird bereits mit dem folgenden Konstrukt, welches man der Einfachheit halber in der <em>functions.php<\/em> des Themes abspeichern kann (auch wenn ein eigenes Plugin dem h\u00e4ufig vorzuziehen ist), bereits ein <strong>Custom Post Type<\/strong> angelegt:<\/p>\n<p>https:\/\/gist.github.com\/5622253<\/p>\n<p>Allerdings beraubt man sich damit selbst der riesigen Menge interessanter Einstellungen. Wer es etwas komfortabler mag, kann auch auch auf Code-Generatoren zur\u00fcckgreifen, um das Ger\u00fcst von <strong>Custom Post Types<\/strong> zu erzeugen. Der <a href=\"http:\/\/themergency.com\/generators\/wordpress-custom-post-types\/\">WordPress Custom Post Type Code Generator<\/a> ist ein sehr brauchbares Beispiel. Wem das zu viel ist, kann auch eine <a href=\"http:\/\/themergency.com\/generators\/simple-wordpress-custom-post-type-generator\/\">vereinfachte Version<\/a> einsetzen.<\/p>\n<p><strong>Ist dieser Teil erledigt, kann man bei den Templates weitermachen.<\/strong><\/p>\n<p>Um bei meinem obigen Beispiel zu bleiben, bietet es sich f\u00fcr den Normalfall an, zwei Dateien anzulegen, die <em>single-simple.php<\/em> bzw. <em>archive-simple.php<\/em> hei\u00dfen. Vermutlich gibt es bereits die <em>single.php<\/em> f\u00fcr die Darstellung eines einzelnen Posts und <em>archive.php<\/em> f\u00fcr die Darstellung des Archivs. Kopiert man diese Dateien hat man oft schon einen guten Startpunkt.<\/p>\n<p>Der Punkt mit den <a href=\"http:\/\/codex.wordpress.org\/Post_Types#Template_Files\">Templates von Custom Post Types<\/a> ist in den meisten F\u00e4llen auch eher kein Problem, wie ich beobachten konnte. Oft stockt es w\u00e4hrend der Umsetzung, weil entweder vergessen wurde, dass die <a href=\"http:\/\/codex.wordpress.org\/Post_Types#Querying_by_Post_Type\">Query im Archiv-Template<\/a> angepasst werden muss oder weil noch\u00a0 <a href=\"https:\/\/yoast.com\/custom-post-type-snippets\/\">kleinere Komfortfunktionalit\u00e4ten<\/a> umgesetzt werden sollen, deren Einbau anfangs trivial erschien.<\/p>\n<p>Hat man diese Prozedur ein paar Mal durchlaufen, merkt man wie einfach <strong>Custom Post Types<\/strong> einzusetzen sind und wie viel Arbeit man sich ersparen kann.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich bin immer wieder erstaunt, wie einfallsreich so mancher Kollege vorgeht, die verschiedenen Arten von Inhalten unserer Kundschaft zu organisieren, ohne\u00a0Custom Post Types einzusetzen. Fast scheint es, als wenn um jeden Preis vermieden werden soll, die nach meinem Empfinden \u00e4u\u00dferst sinnvolle M\u00f6glichkeit einzusetzen, eigene Typen von Posts definieren zu k\u00f6nnen.<\/p>\n","protected":false},"author":2,"featured_media":1538,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"webmentions_disabled_pings":false,"webmentions_disabled":false,"wpf_show_in_dewp_planet_feed":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[3],"tags":[10],"class_list":["post-1850","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code","tag-custom-post-types"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Custom Post Types Quickstart - realloc&#039;s asylum<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ploetner.io\/de\/custom-post-types-quickstart\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Custom Post Types Quickstart - realloc&#039;s asylum\" \/>\n<meta property=\"og:description\" content=\"Ich bin immer wieder erstaunt, wie einfallsreich so mancher Kollege vorgeht, die verschiedenen Arten von Inhalten unserer Kundschaft zu organisieren, ohne\u00a0Custom Post Types einzusetzen. Fast scheint es, als wenn um jeden Preis vermieden werden soll, die nach meinem Empfinden \u00e4u\u00dferst sinnvolle M\u00f6glichkeit einzusetzen, eigene Typen von Posts definieren zu k\u00f6nnen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ploetner.io\/de\/custom-post-types-quickstart\/\" \/>\n<meta property=\"og:site_name\" content=\"realloc&#039;s asylum\" \/>\n<meta property=\"article:published_time\" content=\"2013-05-21T19:37:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ploetner.io\/de\/wp-content\/uploads\/sites\/7\/sites\/8\/2013\/01\/reallocs-asylum-3.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"980\" \/>\n\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"realloc\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"realloc\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"2\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/ploetner.io\\\/de\\\/custom-post-types-quickstart\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ploetner.io\\\/de\\\/custom-post-types-quickstart\\\/\"},\"author\":{\"name\":\"realloc\",\"@id\":\"https:\\\/\\\/ploetner.io\\\/de\\\/#\\\/schema\\\/person\\\/571f8ada841cca782e8001b942e032c8\"},\"headline\":\"Custom Post Types Quickstart\",\"datePublished\":\"2013-05-21T19:37:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/ploetner.io\\\/de\\\/custom-post-types-quickstart\\\/\"},\"wordCount\":379,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/ploetner.io\\\/de\\\/#\\\/schema\\\/person\\\/571f8ada841cca782e8001b942e032c8\"},\"image\":{\"@id\":\"https:\\\/\\\/ploetner.io\\\/de\\\/custom-post-types-quickstart\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ploetner.io\\\/de\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/sites\\\/8\\\/2013\\\/01\\\/reallocs-asylum-3.jpg\",\"keywords\":[\"Custom Post Types\"],\"articleSection\":[\"Code\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/ploetner.io\\\/de\\\/custom-post-types-quickstart\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ploetner.io\\\/de\\\/custom-post-types-quickstart\\\/\",\"url\":\"https:\\\/\\\/ploetner.io\\\/de\\\/custom-post-types-quickstart\\\/\",\"name\":\"Custom Post Types Quickstart - realloc&#039;s asylum\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ploetner.io\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/ploetner.io\\\/de\\\/custom-post-types-quickstart\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/ploetner.io\\\/de\\\/custom-post-types-quickstart\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ploetner.io\\\/de\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/sites\\\/8\\\/2013\\\/01\\\/reallocs-asylum-3.jpg\",\"datePublished\":\"2013-05-21T19:37:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/ploetner.io\\\/de\\\/custom-post-types-quickstart\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/ploetner.io\\\/de\\\/custom-post-types-quickstart\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/ploetner.io\\\/de\\\/custom-post-types-quickstart\\\/#primaryimage\",\"url\":\"https:\\\/\\\/ploetner.io\\\/de\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/sites\\\/8\\\/2013\\\/01\\\/reallocs-asylum-3.jpg\",\"contentUrl\":\"https:\\\/\\\/ploetner.io\\\/de\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/sites\\\/8\\\/2013\\\/01\\\/reallocs-asylum-3.jpg\",\"width\":980,\"height\":350},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/ploetner.io\\\/de\\\/custom-post-types-quickstart\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/ploetner.io\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Custom Post Types Quickstart\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ploetner.io\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/ploetner.io\\\/de\\\/\",\"name\":\"realloc's asylum\",\"description\":\"Software Developer &amp; WordPress Enthusiast | Born in Germany. Reborn in Italy.\",\"publisher\":{\"@id\":\"https:\\\/\\\/ploetner.io\\\/de\\\/#\\\/schema\\\/person\\\/571f8ada841cca782e8001b942e032c8\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/ploetner.io\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/ploetner.io\\\/de\\\/#\\\/schema\\\/person\\\/571f8ada841cca782e8001b942e032c8\",\"name\":\"realloc\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/ploetner.io\\\/de\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/sites\\\/8\\\/2022\\\/11\\\/52602486_10215993351498483_6040822616506236928_n.jpg\",\"url\":\"https:\\\/\\\/ploetner.io\\\/de\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/sites\\\/8\\\/2022\\\/11\\\/52602486_10215993351498483_6040822616506236928_n.jpg\",\"contentUrl\":\"https:\\\/\\\/ploetner.io\\\/de\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/sites\\\/8\\\/2022\\\/11\\\/52602486_10215993351498483_6040822616506236928_n.jpg\",\"width\":847,\"height\":848,\"caption\":\"realloc\"},\"logo\":{\"@id\":\"https:\\\/\\\/ploetner.io\\\/de\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/sites\\\/8\\\/2022\\\/11\\\/52602486_10215993351498483_6040822616506236928_n.jpg\"},\"description\":\"Software Developer &amp; WordPress Enthusiast | Born in Germany. Reborn in Italy.\",\"sameAs\":[\"https:\\\/\\\/ploetner.io\\\/\"],\"url\":\"https:\\\/\\\/ploetner.io\\\/de\\\/author\\\/realloc\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Custom Post Types Quickstart - realloc&#039;s asylum","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ploetner.io\/de\/custom-post-types-quickstart\/","og_locale":"de_DE","og_type":"article","og_title":"Custom Post Types Quickstart - realloc&#039;s asylum","og_description":"Ich bin immer wieder erstaunt, wie einfallsreich so mancher Kollege vorgeht, die verschiedenen Arten von Inhalten unserer Kundschaft zu organisieren, ohne\u00a0Custom Post Types einzusetzen. Fast scheint es, als wenn um jeden Preis vermieden werden soll, die nach meinem Empfinden \u00e4u\u00dferst sinnvolle M\u00f6glichkeit einzusetzen, eigene Typen von Posts definieren zu k\u00f6nnen.","og_url":"https:\/\/ploetner.io\/de\/custom-post-types-quickstart\/","og_site_name":"realloc&#039;s asylum","article_published_time":"2013-05-21T19:37:35+00:00","og_image":[{"width":980,"height":350,"url":"https:\/\/ploetner.io\/de\/wp-content\/uploads\/sites\/7\/sites\/8\/2013\/01\/reallocs-asylum-3.jpg","type":"image\/jpeg"}],"author":"realloc","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"realloc","Gesch\u00e4tzte Lesezeit":"2\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ploetner.io\/de\/custom-post-types-quickstart\/#article","isPartOf":{"@id":"https:\/\/ploetner.io\/de\/custom-post-types-quickstart\/"},"author":{"name":"realloc","@id":"https:\/\/ploetner.io\/de\/#\/schema\/person\/571f8ada841cca782e8001b942e032c8"},"headline":"Custom Post Types Quickstart","datePublished":"2013-05-21T19:37:35+00:00","mainEntityOfPage":{"@id":"https:\/\/ploetner.io\/de\/custom-post-types-quickstart\/"},"wordCount":379,"commentCount":0,"publisher":{"@id":"https:\/\/ploetner.io\/de\/#\/schema\/person\/571f8ada841cca782e8001b942e032c8"},"image":{"@id":"https:\/\/ploetner.io\/de\/custom-post-types-quickstart\/#primaryimage"},"thumbnailUrl":"https:\/\/ploetner.io\/de\/wp-content\/uploads\/sites\/7\/sites\/8\/2013\/01\/reallocs-asylum-3.jpg","keywords":["Custom Post Types"],"articleSection":["Code"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ploetner.io\/de\/custom-post-types-quickstart\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ploetner.io\/de\/custom-post-types-quickstart\/","url":"https:\/\/ploetner.io\/de\/custom-post-types-quickstart\/","name":"Custom Post Types Quickstart - realloc&#039;s asylum","isPartOf":{"@id":"https:\/\/ploetner.io\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ploetner.io\/de\/custom-post-types-quickstart\/#primaryimage"},"image":{"@id":"https:\/\/ploetner.io\/de\/custom-post-types-quickstart\/#primaryimage"},"thumbnailUrl":"https:\/\/ploetner.io\/de\/wp-content\/uploads\/sites\/7\/sites\/8\/2013\/01\/reallocs-asylum-3.jpg","datePublished":"2013-05-21T19:37:35+00:00","breadcrumb":{"@id":"https:\/\/ploetner.io\/de\/custom-post-types-quickstart\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ploetner.io\/de\/custom-post-types-quickstart\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/ploetner.io\/de\/custom-post-types-quickstart\/#primaryimage","url":"https:\/\/ploetner.io\/de\/wp-content\/uploads\/sites\/7\/sites\/8\/2013\/01\/reallocs-asylum-3.jpg","contentUrl":"https:\/\/ploetner.io\/de\/wp-content\/uploads\/sites\/7\/sites\/8\/2013\/01\/reallocs-asylum-3.jpg","width":980,"height":350},{"@type":"BreadcrumbList","@id":"https:\/\/ploetner.io\/de\/custom-post-types-quickstart\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ploetner.io\/de\/"},{"@type":"ListItem","position":2,"name":"Custom Post Types Quickstart"}]},{"@type":"WebSite","@id":"https:\/\/ploetner.io\/de\/#website","url":"https:\/\/ploetner.io\/de\/","name":"realloc's asylum","description":"Software Developer &amp; WordPress Enthusiast | Born in Germany. Reborn in Italy.","publisher":{"@id":"https:\/\/ploetner.io\/de\/#\/schema\/person\/571f8ada841cca782e8001b942e032c8"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ploetner.io\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":["Person","Organization"],"@id":"https:\/\/ploetner.io\/de\/#\/schema\/person\/571f8ada841cca782e8001b942e032c8","name":"realloc","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/ploetner.io\/de\/wp-content\/uploads\/sites\/7\/sites\/8\/2022\/11\/52602486_10215993351498483_6040822616506236928_n.jpg","url":"https:\/\/ploetner.io\/de\/wp-content\/uploads\/sites\/7\/sites\/8\/2022\/11\/52602486_10215993351498483_6040822616506236928_n.jpg","contentUrl":"https:\/\/ploetner.io\/de\/wp-content\/uploads\/sites\/7\/sites\/8\/2022\/11\/52602486_10215993351498483_6040822616506236928_n.jpg","width":847,"height":848,"caption":"realloc"},"logo":{"@id":"https:\/\/ploetner.io\/de\/wp-content\/uploads\/sites\/7\/sites\/8\/2022\/11\/52602486_10215993351498483_6040822616506236928_n.jpg"},"description":"Software Developer &amp; WordPress Enthusiast | Born in Germany. Reborn in Italy.","sameAs":["https:\/\/ploetner.io\/"],"url":"https:\/\/ploetner.io\/de\/author\/realloc\/"}]}},"_links":{"self":[{"href":"https:\/\/ploetner.io\/de\/wp-json\/wp\/v2\/posts\/1850","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ploetner.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ploetner.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ploetner.io\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ploetner.io\/de\/wp-json\/wp\/v2\/comments?post=1850"}],"version-history":[{"count":0,"href":"https:\/\/ploetner.io\/de\/wp-json\/wp\/v2\/posts\/1850\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ploetner.io\/de\/wp-json\/wp\/v2\/media\/1538"}],"wp:attachment":[{"href":"https:\/\/ploetner.io\/de\/wp-json\/wp\/v2\/media?parent=1850"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ploetner.io\/de\/wp-json\/wp\/v2\/categories?post=1850"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ploetner.io\/de\/wp-json\/wp\/v2\/tags?post=1850"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}