{"id":479,"date":"2017-05-15T14:40:06","date_gmt":"2017-05-15T12:40:06","guid":{"rendered":"http:\/\/evileu.de\/zum-schwarzen-pinguin\/?p=479"},"modified":"2017-05-15T17:59:44","modified_gmt":"2017-05-15T15:59:44","slug":"erstellen-wir-jetzt-endlich-mal-ein-eigenes-theme","status":"publish","type":"post","link":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/2017\/05\/15\/erstellen-wir-jetzt-endlich-mal-ein-eigenes-theme\/","title":{"rendered":"Erstellen wir jetzt endlich mal ein eigenes Theme?"},"content":{"rendered":"<h2>Nein.<\/h2>\n<p>Und das ist mein letztes Wort, ehrlich. Themes gibt es wie Sand am Meer, da ist echt f\u00fcr jeden Geschmack, Zweck und Funktionsumfang was dabei. Themes sind ein Konzept, das auch vom Enduser (im Zweifelsfall meinem Kunden) leicht begriffen wird, nach Themes kann jeder selber suchen und sich aus den vielen bunten Bildchen das heraussuchen, was ihm am besten gef\u00e4llt. Und glauben sie mir: es wird ihm erst das eine Theme gefallen, und dann das N\u00e4chste und dann noch das \u00dcbern\u00e4chste. Was bei einem Themewechsel auf sie zukommt, da haben sich andere Leute schon schlaue Gedanken gemacht, siehe z.B. dieser Artikel vom <a href=\"https:\/\/elbnetz.com\/wie-man-das-theme-problemlos-wechselt\/\">elbnetz<\/a>. Bestenfalls passen nur ein paar Bildformate nicht mehr, schlimmstenfalls zerhackt es ihnen die ganzen Seitenlayouts und die ganzen sch\u00f6nen kundenspezifischen Funktionen.<\/p>\n<p>Bedenken sie immer: als Entwickler kommen sie bei einem Themewechsel in Teufels K\u00fcche, wenn sie abh\u00e4ngig von einem bestimmten Theme programmiert haben, und der Kunde m\u00f6chte jetzt aber unbedingt ein anderes.<\/p>\n<h2>Ich editiere Page Templates nur im \u00e4u\u00dfersten Notfall<\/h2>\n<p>Weil ich aus langj\u00e4hriger leidgepr\u00fcfter Praxis genau wei\u00df, dass sich der Kunde fr\u00fcher oder sp\u00e4ter f\u00fcr ein anderes Theme entscheiden wird, greife ich wenn m\u00f6glich gar nicht in die Page Templates ein. Die Arbeit ist bei einem Themewechsel grad f\u00fcr die Katz&#8216;, und es ist auch nicht gesagt da\u00df ihre Anpassungen in einem anderem Theme auch genauso funktionieren werden, dazu sind die Templates einfach zu uneinheitlich konstruiert.<\/p>\n<h2>Aber was ist, wenn man ein Child Theme verwendet?<\/h2>\n<p>Das selbe in Gr\u00fcn, ich setze hier keine modifizierten Page Templates ein, wenn es nicht unbedingt sein muss. Ich verwende (ausser bei ganz, ganz einfachen Blogs) <strong>immer<\/strong> ein Child Theme. In den seltenen F\u00e4llen, wo ich es nicht von Anfang an eingerichtet habe, kam immer fr\u00fcher oder sp\u00e4ter der Zeitpunkt wo ich doch eins gebraucht habe.<\/p>\n<p>Die einzigen Dateien, an denen ich \u00c4nderungen vornehme, sind \u00fcblicherweise die functions.php (ganz wichtig f\u00fcr unsere Shortcodes) und seltener noch die style.css des Child Themes. Und das wird dann (verdammtnochmal!) ordentlich und ausf\u00fchrlich dokumentiert, damit man die Funktionalit\u00e4t im Falle des Falles ohne Beinbruch in ein neues Theme \u00fcbertragen kann.<\/p>\n<h2>Ausnahmen best\u00e4tigen die Regel<\/h2>\n<p>Und falls doch mal eine \u00c4nderung an einem Template f\u00e4llig ist: <strong>immer<\/strong> im Child Theme, und <strong>immer<\/strong> gut dokumentieren. Ich habe zum Beispiel auf der Seite des Turnvereins Wei\u00df-Blau die Beitragsseiten als Mitgliederverzeichnis umgestaltet, da war ein Eingriff in die single.php notwendig, um die Daten aus der eigenen Tabelle mit den Mitglieder-Stammdaten anzeigen zu lassen. Aber ich wette mit mir selber, dass ich das auch mit einem Shortcode l\u00f6sen k\u00f6nnte &#8211; da mach ich mir bei Gelegenheit mal mehr Gedanken dr\u00fcber.<\/p>\n<p>Auch wenn man bestimmte Teile des Themes loswerden m\u00f6chte (keine Sidebar, kein Footer etc&#8230;) kommt man um eine \u00c4nderung der entsprechenden Templates kaum herum, aber auch hier gilt: immer im Child Theme, und immer gut aufpassen was man da wirklich macht. Die Themes sind ja, wie bereits gesagt, so uneinheitlich konstruiert (und so lausig dokumentiert, das muss auch mal gesagt werden!), dass sich hier kaum allgemeing\u00fcltige Regeln aufstellen lassen, welche \u00c4nderung welchen Effekt bewirkt. Da ist immer viel Trial and Error dabei.<\/p>\n<h2>\u00c4nderungen in der style.css nur mikrochirurgisch<\/h2>\n<p>Nat\u00fcrlich kann man sich hier spielen und die Layouts f\u00fcr nahezu alle WordPress-Elemente nach eigenem Gusto ver\u00e4ndern. Aber ich bin Fachinformatikerin, keine Webdesignerin, und \u00fcberlasse das passende Styling denen, die&#8217;s gelernt haben, und das sind im Zweifelsfall nun mal die Theme-Designer. Ich greife mal ein, wenn z.B. die Umrandungen von Formularfeldern unsichtbar sind (beliebtes Manko), oder die Beschriftung von Buttons unleserlich ist. Aber das wars dann schon. Alles andere lasse ich wie es ist, die Leute vom Design haben ja schlie\u00dflich grosse M\u00fche darauf verwendet, dass alles zusammen ein stimmiges Bild ergibt, und ich als Design-Laie kann hier bestenfalls verschlimmbessern.<\/p>\n<h2>Theme-unabh\u00e4ngig programmieren, das geht!<\/h2>\n<p>Sogar sehr schmerzlos. Mit Shortcodes und Plugins, Filtern und Action Hooks l\u00e4\u00dft sich fast alles\u00a0 erreichen, was der Kunde anfordert, und hier kann man wirklich Theme-unabh\u00e4ngig arbeiten, wenn man ein bisschen aufpasst.<\/p>\n<p>Grosse Styling-\u00c4nderungen reden wir unserem Kunden einfach aus, da suchen wir ihm lieber ein anderes Theme. Wir sind schlie\u00dflich (ich sags nochmal) alte Programmierer und keine Designer.<\/p>\n<h2>WordPress m\u00f6chte doch so gern ein CMS sein<\/h2>\n<p>Da fehlts zwar noch ein paar Meter, aber das gute alte WordPress nimmt ja f\u00fcr sich in Anspruch, ein vollwertiges CMS werden zu wollen. Und da ist die Trennung von Funktion und Design unverzichtbar! Will heissen, eigentlich sollte man die Themes wechseln k\u00f6nnen wie die frischen Socken, ohne dass an den Inhalten \u00fcberhaupt Nacharbeiten anfallen.<\/p>\n<p>Davon sind wir zwar im Moment noch einiges entfernt, aber mit der Multisite-Technologie gehts schon in die richtige Richtung, besonders wenn man geeignete Plugins zum Beispiel zum Clonen von ganzen Blogseiten einsetzt. Damit kommen zwar auch wieder neue Herausforderungen &#8211; wie schreibe ich ein Multisite-f\u00e4higes Plugin? &#8211; aber die Richtung stimmt wie gesagt schon. Ich beobachte diese Entwicklung mit grossem Interesse, und werde hier sicher noch den einen oder anderen Beitrag zum Thema CMS reinstellen. Aber ein eigenes Theme &#8211; no way Jos\u00e8, das wirds hier bei mir nie geben.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nein. Und das ist mein letztes Wort, ehrlich. Themes gibt es wie Sand am Meer, da ist echt f\u00fcr jeden Geschmack, Zweck und Funktionsumfang was dabei. Themes sind ein Konzept, das auch vom Enduser (im Zweifelsfall meinem Kunden) leicht begriffen wird, nach Themes kann jeder selber suchen und sich aus den vielen bunten Bildchen das [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1,22,2],"tags":[],"_links":{"self":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/479"}],"collection":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/comments?post=479"}],"version-history":[{"count":6,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/479\/revisions"}],"predecessor-version":[{"id":486,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/479\/revisions\/486"}],"wp:attachment":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/media?parent=479"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/categories?post=479"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/tags?post=479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}