Random: Custom Post Types, Taxonomies & Single Templates #1
Ich hatte ja am Ende meines Post's 'Erste Schritte' 10 Fragen. Fünf davon habe ich hier beantwortet, hier kommen zwei weitere, mit denen ich mich momentan auseinandersetze:
Wie verwende ich die verschiedenen Page-Typen?
Wie stelle ich eigene Post-Typen ein? (Aside, Image, Link etc.)
Sagen wir mal, ich habe einen Lifestyle Blog. (Hab ich nicht, aber die sind ja ziemlich beliebt geworden in letzter Zeit.. *glares at Facebook*)
Ich würde also zum Beispiel gerne verschiedene Arten von Artikeln, haben. Einmal einen Typen für alle Bewertungen von MakeUp, einen für Artikel, in denen ich über Schuhe spreche und so weiter. Oder über Filme, CDs, Reisen..
Meines Erachtens gibt es da zwei verschiedene Arten, das zu bewerkstelligen und eine davon ist mir sehr unvertraut. Außerdem möchte ich gerne ein neues 'Tagsystem'. Und wenn es ginge, sollten die Posts dann bitte auch anders aussehen als der Rest.
Diese Funktion fügt dem admin-Bereich ein weiteres 'Fenster' am Rand hinzu. So wie jetzt beispielsweise Dashboard, Artikel, Seiten, Plugins, Design aufgelistet sind, kommt dann ein weiteres hinzu. Wenn man seinen Post-Type "Schuhe" nennt, dann wird das so angezeigt.
Vermutlich gar nicht so schlecht, aber mir persönlich ist es zu aufwändig, da ich oft im letzten Moment umentscheide. Also, wenn der gesamte Post schon geschrieben ist. Da macht es also in meinem Fall wenig Sinn, diese Möglichkeit zu benutzen. (Trotzdem schaue ich sie mir unten nocheinmal genauer an, falls ich sie doch mal brauche.)
Neben der Funktion oben kann man auch individuelle Gruppierungen (Taxonomies) nutzen. Das beste Beispiel für bereits existierende Taxonomies sind Tags. So wird das Fenster für individuelle Gruppierungen auch neben dem Post angezeigt; dort, wo u.a. Kategorien, Tags etc. sind.
Nutzen könnte man ads, wenn man bei dem Lifestyle Blog bleibt, zum Beispiel durch eine Taxonomy mit dem Titel "Clothes", in der angegeben wird, welche Kleidungsstücke Thema im Post sind. Würde ich über Bücher schreiben, dann vielleicht Genres, schriebe ich über Angststörungen, könnte ich Therapieformen angeben.
Die Seite eines Posts wird im Wordpress Theme durch das Template single.php angezeigt. Dort befindet sich dann die Kombination von content und sidebars, die der User auf seinem Blog möchte, wenn jemand einen Artikel ansieht.
In einem führeren Text habe ich einmal erwähnt, dass man mehrere Sidebars anlegen kann, indem man sie sidebar-left.php und sidebar-right.php nennt. Mit diesen Templates ist das kein großer Unterschied.
Erstell ein single-schuhe.php Template, definiere, wie es aussehen soll, kopiere die Datei in den Ordner /deintheme/single/ und fertig.. Sozusagen.
Wie die Taxonomies wird diese Funktion im Artikel Erstellen-Fenster angezeigt.
So wie ich das sehe, ist es am Einfachsten, ein Plugin zu benutzen und Elmastudio empfiehlt da Custom Post Type UI. Unten habe ich nocheinmal alle Quellen und Plugins gelistet. Der Vorteil bei Plugins ist, dass man nicht das eigene Theme bearbeiten muss. Würde man das tun und dann später ein neues Theme installieren, ginge die Custom Post Type Funktion verloren. (Man müsste sie also erneut einfügen und anpassen)
Wenn man aber nachvollziehen möchte, wie es funktioniert beziehungsweise kein Plugin Fan ist (was ich nicht bin, obwohl ich wohl in diesem Fall tatsächlich das Plugin wählen würde, denke ich), kann man auf Elmastudio nachlesen, wie genau man sein Theme dementsprechend anpassen kann.
Das Prinzip ist relativ einfach. Man baut die Funktion im function.php ein. (Nützlich ist es hier, den Artikel "register_post_type" des Codex' oder diesen Artikel von justintadlock zu lesen.) Wenn man alles richtig macht, ist der neue Bereich im Admin Menü integriert. (Man kann hier auch unterschiedliche Archive durch ein Plugin erzielen)
Können ebenfalls mit einem Plugin erzeugt werden und auch hier hat Elmastudio ein wenig mehr erklärt. Da ich erneut dieselben pro|contra Argumente anbringen könnte, verweise ich einfach nur auf die Links unten. Zusätzlich zu Elmastudio und dem Codex gibt es auch sehr interessante und hilfreiche Artikelauf beispielsweise net.tutsplus.com, die auch sehr tutorial-haft vorgehen. (Darf ich das Wort 'Bilder' fallen lassen?)
Ausgegeben wird diese Funktion im Template übrigens über den folgenden Code. (In diesem Beispiel wurde die taxonomy 'skills' genannt. Damit das auch klappt, braucht man im Übrigen die Funktion get_the_term_list.
<?php echo get_the_term_list( $post->ID, 'skills', 'Projektumsetzung mit: ', ', ', '' ); ?>
» Custom Single Templates
Hier habe ich wirklich ein Problem. In den Artikeln oben wird es so dargestellt, als könnten diese Custom Templates nur für die Custom Posts benutzt werden. Habe ich also den custom post mit Namen "schuhe" füge ich ein Template mit dem Namen single-schuhe.php dem single-Ordner hinzu.
Da ich persönlich aber gar keine Custom Post Types verwenden will, sondern nur die Single Templates, die dann wie die Taxonomies am Rand angezeigt werden sollen, habe ich mich gefragt: Funktioniert das auch so?
Ist eigentlich sicher eine total simple Frage, die sonst niemand erwähnt hat, weil es für selbstverständlich erachtet wurde, aber ich selbst bin etwas verwirrt, weshalb ich das demnächst ausprobieren werde. In Teil 2 kommt dann mein Ergebnis.
Quellen, Referenzen, Schaustu:
http://codex.wordpress.org/Post_Types (http://codex.wordpress.org/Post_Types#Custom_Types)
http://codex.wordpress.org/Function_Reference/register_post_type
http://codex.wordpress.org/Function_Reference/get_the_term_list
http://codex.wordpress.org/Function_Reference/get_single_template
http://codex.wordpress.org/Function_Reference/get_page_templates
http://codex.wordpress.org/Adding_Asides
http://www.elmastudio.de/wordpress/wordpress-custom-post-types-teil1-was-sind-custom-post-types-eigentlich-und-wie-kannst-du-sie-nutzen/
http://www.elmastudio.de/wordpress/wordpress-custom-post-types-teil2-selbst-individuelle-inhaltstypen-und-taxonomies-anlegen/
http://kovshenin.com/archives/custom-post-types-in-wordpress-3-0/
http://wpengineer.com/1969/impressions-of-custom-post-type/
http://www.wpbeginner.com/wp-themes/create-custom-single-post-templates-for-specific-posts-or-sections-in-wordpress/
http://net.tutsplus.com/tutorials/wordpress/introducing-wordpress-3-custom-taxonomies/
http://wordpress.org/extend/plugins/single-post-template/
http://wordpress.org/extend/plugins/custom-post-template/
http://wordpress.org/extend/plugins/custom-taxonomies/
http://wordpress.org/extend/plugins/custom-post-type-ui/
http://wordpress.org/extend/plugins/simple-custom-post-type-archives/