ACHTUNG: In diesem Tutorial wird sehr viel Code ausgegeben, dieser Code wird aber formatiert ausgegeben und darum kann es vorkommen das sich an manchen Stellen Leerzeichen einschmuggeln (oft im Start- und End-Tag von PHP => < ?php) dies hat damit zu tun, das dieser Code "entwertet" werden muss, sonst würde die Wordpress-Software dies als Code interpretieren und diesen ausführen. Wenn ihr also diesen Code nutzt, dann achtet darauf die Leerzeichen dort zu entfernen wo es Sinn macht, tut mir leid für diese Umstände, aber anders geht es leider nicht
Einige werden sich noch an das Wordpress-Template-Tutorial von Steffen Thalmann erinnern. Nach dieser Anleitung ist der Webdesignblog entstanden, doch leider gab es dieses irgendwann nicht mehr und ich habe mich selbst an einem (eher weniger gelungenen) Tutorial versucht.
Seit heute gibt es dieses Tutorial im Webdesignblog, Steffen Thalmann war so nett mir dieses zur Verfügung zu stellen. Wenn ihr weitere gute Artikel lesen wollt, könnt ihr ihn auf SteffenThalmann.de besuchen.
Dieses Tutorial soll eine Anleitung dazu sein, ein eigenes WordPress-Template nach semantischen Regeln von (x)HTML zu erstellen. Es wendet sich somit an all diejenigen, die nicht auf ein bestehendes Theme zurückgreifen möchte oder dieses nach belieben anzupassen.
Gute Frage, gute Antwort: Du willst mehr! Du willst lernen! Du willst WordPress begreifen und damit mehr machen als andere! Du hast andere Anforderungen an einem Template - „you gotta make it yourself“. Wenn du darauf keine Lust hast, kopiere den “defaultâ€-Ordner, ändere einfach nur das Stylesheet und übersetze alle Begrifflichkeiten in deutsche.
Erste Schritte
Wähle im Hauptverzeichnis deiner Wordpressinstallation den Ordner wp-content/themes aus und erstelle einen neuen Ordner mit einen Namen deiner Wahl. In dem weiteren Verlauf dieses Tutorials verwende ich den Namen „ownTheme“ für diesen Ordner.
Lege in diesem Ordner nun die Dateien style.css, index.php, header.php, sidebar.php und footer.php. Wir benötigen nachher noch mehr Datei aber diese legen wir erst an wenn wir sie gebrauchen. Wenn du Bilder später (natürlich willst du das) verwenden willst, ist es ratsam einen Unterordner „images“ zu erstellen.
Starte deinen bevorzugten Text-Editor und öffne die soeben erstelle index.php Datei. Schreibe in die ersten Zeilen folgenden Code:
“get_irgendwas†sind unter Wordpress vordefinierte Template-Tags welche die Seite anweisen, bestimmte Template-Dateien (in diesem Fall header.php, sidebar.php und footer.php) in die Seite einzubinden.
In die style.css schreibst du zu Beginn folgendes
/*
Theme Name: My First Template
Theme URI: http://www.thally.de/
Description: A ourself written template based on a Tutorial by thally.
Version: 1.0
Author: Steffen Thalmann
Author URI: http://www.thally.de/
*/
Das sind übliche Theme-Informationen, die im Administrationsbereich (kurz: ACP; Admin Controll Panel) unter Themes angezeigt werden, um die Themes auch eindeutig von einander zu unterscheiden.
Nun müsstest du unter „Themes“ im ACP dein soeben erstelltes Template wieder finden. Mit einem Klick aus „auswählen“ aktivierst du dieses Theme für deinen Blog.
Wenn du nun deine Seite aufrufst, wirst du sehen dass unser Template noch nicht viel kann. Also müssen wir unserem Template noch einiges beibringen.
Von Kopf bis Fuss und dazwischen nichts.
Der „Header“ bekommt nun von uns alle notwendigen Inhalte mit. Darunter zählt: Einleitung des HTML-Grundgerüst, Titel, Meta-Angaben, logische Beziehungen sowie dateispezifische Style-Angaben (CSS). Natürlich dürfen hier auch nicht relevante Tags für unseren eigentlichen Header fehlen.
Beginnen wir jedoch mit dem Grundgerüst (das kommt in die header.php):
Wenn wir nun noch in unsere footer.php das HTML-Grundgerüst durch
</body>
</html>
abschließen, haben wir die Basis für unser weiteres „templating“ geschaffen und können uns nun dem eigentlichen zuwenden.
Was haben wir bisher getan?
„Leeres“ Theme mit Themeinformationen erstellt
Die Grundstruktur unseres Themes erstellt (Header, Footer)
Bevor wir jedoch beginnen unseren Inhalt und das Menü generieren, erstellen wir unsere Seitenstruktur und aus HTML- & Template-Tags unseren eigentlichen Header und Footer.
Wichtig bei diesem Schritt ist das wir uns über unsere Seitenstruktur im klarem sind. Ich persönlich handhabe es immer so dass ich für jeden Bereich einen eigenen Abschnitt definiere. Das hat den Vorteil, dass ich leicht und flexibel per CSS mein Layout ändern kann und meine Seite von einer guten Struktur und Logik geprägt ist. Desweiteren gebe ich den Divs direkt Id’s oder Klassen mit, damit ich später diese mit CSS direkt ansprechen und formatieren kann.
Für unsere Theme empfehle ich sich an folgende Struktur zu halten:
Diesen Codeblock zerlegen wir nun und verteilen einzelne Stücke auf unsere bisher erstellten Dateien.
header.php
<div id="mainFrame">
<div id="header"></div>
Natürlich nach unserem Body-Tag (<body>)
sidebar.php <div id="menue"></div>
index.php
Zwischen <?php get_sidebar(); ?>
<?php get_footer(); ?>
setzen wir <div id="content"></div>
vor unserem Body-Endtag (
) setzen wir <div id="footer"></div>
</div>
Wenn du jetzt noch mal deinen Blog aufrufst und die Seite immer noch leer ist, hast du alles richtig gemacht. Lediglich sollte der Title oben erscheinen.
Beginnen wir nun unseren Header und Footer mit Leben zu füllen. Ich halte den HTML-Code stark semantisch. Wegen der „usability“ und „accessibility“ und weil es sich einfach so gehört und HTML darauf ausgelegt ist. Außerdem ist es nicht schwer alles mit CSS entsprechend zu formatieren.
Fülle nun den div “header†in der header.php mit:
In der Überschrift 1. Ordnung haben wir somit nun den Namen unseren Blog packt und entsprechend verlinkt. Die Überschrift 2. Ordnung bekommt die Beschreibung unseren Blogs. Geil ne?
Unter dem div „header“ setze ich noch eine Trennlinie mit <hr /> - damit die Seitenstruktur ersichtlich ist, wenn CSS deaktivert sein sollte.
Wechsle zur footer.php und ergänze den div „footer“ mit folgendem:
Setze hier vor dem Div „footer“ ebenfalls ein <hr />
Eben kurz noch Revue passieren lassen – Was haben wir nun getan:
Seitenstruktur erstellt
Header und Footer mit relevanten Template-Tags gefüttert
Seitenstruktur, Navigation oder wie auch immer
Wie bekommen wir nun den Inhalt und vor allem eine Seitennavigation in unserem Blog? WordPress macht es Template-Entwicklern hier sehr einfach mit den sog. Template-Tags. Einige haben wir ja schon kennengelernt und bei den nächsten Schritten werden wir weitere verwenden, damit unser Template auch alle nötigen Information und Inhalte anzeigt.
Beginnen wir mit unserer Seitennavigation. In den meisten Themes werden in der „Sidebar“
verfügbare Seiten
Autor(en)-Informationen
Archiv
Kategorien
Meta-Informationen
Suchformular
und ein Kalender
angezeigt. So wollen wir ebenfalls vorgehen. Bzw. wenn du keinen Kalender oder Autoren-Infos wünscht kann du diesen Part weglassen. Öffne nun deine sidebar.php und ergänze den Div „menue“ um folgenden Codeschnipsel:
<li><h2>Meta</h2>
<ul>
< ?php wp_register(); ? >
<li>< ?php wp_loginout(); ? ></li>
<li>< a href="http://validator.w3.org/check/referer" title="This page validates as XHTML 1.0 Transitional">Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr>< /a></li>
<li>< a href="http://gmpg.org/xfn/"><abbr title="XHTML Friends Network">XFN</abbr>< /a></li>
<li>< a href="http://wordpress.org/" title="Powered by WordPress, state-of-the-art semantic personal publishing platform.">WordPress< /a></li>
<?php wp_meta(); ?>
</ul>
</li>
<li>
<?php include (TEMPLATEPATH . '/searchform.php'); ?>
</li>
</ul>
Mit einigen wenigen HTML- und Template-Tags haben wir uns somit eine füllige Seitennavigation gebastelt. Wenn wir uns nun mal die Seite im Browser wieder betrachten, werden wir am unteren Ende der Navigation eine PHP-Fehlermeldung sehen. Das kommt daher, weil wir eine Date „searchform.php“ eingebettet haben. Wir errinnern uns jedoch nicht daran diese Datei angelegt zu haben oder? Also: schnell nachholgen mit folgendem Inhalt:
Setze hier hinter dem Div „menue“ ebenfalls ein
<hr />
“What have you done, dude?â€
Eine “dicke†Sidebar mit den wesentlichen Elemente erstellt und uns dabei an Template-Tags bedient.
Eine weitere Datei „searchform.php“ erstellt und ein Suchformular eingefügt.
Give me Content, right Now!
Jo und damit fangen wir direkt an. Öffne die index.php. Hierfür verwenden wir „TheLoop“. Was genau das ist erfährst du hier: http://codex.wordpress.org/The_Loop
Da ich jetzt schon weiß bzw. eine Vorstellung davon habe, wie mein Theme nach geschriebenen CSS mal aussehen soll und sich gewisse Tags verhalten sollen, fange ich jetzt schon an bestimmte IDs oder Klassen in den Tags zu setzen.
<h2 class="center">Nichts gefunden</h2>
<p class="center">Sorry, aber du suchst etwas was nicht da ist.</p>
<?php include (TEMPLATEPATH . "/searchform.php"); ?>
<?php endif; ?>
That’s it! Nun haben wir unseren Blogeinträgen eine Struktur gegeben, wie sie dargestellt werden sollen.
Wenn nun eine Kategorie, ein Archiv, eine einzelne Seite etc aufgerufen wird, holt sich WordPress immer die index.php für solche anfragen, da wir für Kategorien, etc. noch keine Templates erstellt haben. Dieses vorgehen von WordPress fällt unter dem Begriff „Template Hierarchy“. Näheres hierzu unter http://codex.wordpress.org/Template_Hierarchy
Problem: Wenn wir nun einen einzelnen Beitrag aufrufen, wird dieser Beitrag in der index.php aufgerufen und dort haben wir nichts eingebaut, damit auch Kommentare angezeigt bzw. geschrieben werden können. So gehen wir zum nächsten Kapitel
Einzelne Beiträge & Kommentare
Wir benötigen für diesen Schritt eine Datei namens single.php. Diese Datei erstellen wir nach dem selben Schema und Inhalt wie zu Beginn die index.php also:
<p><small>geschrieben am < ?php the_time('d.m.Y') ? > um < ?php the_time() ? > in < ?php the_category(', ') ? > von < a href="mailto:< ?php echo antispambot(get_the_author_email()); ? >">< ?php the_author() ? > · < ?php comments_rss_link('RSS 2.0'); ? > feed.<br />
< ?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) { ? >
< a href="#respond">Schreibe ein Kommentar oder setze einen < a href="< ?php trackback_url(true); ? >" rel="trackback">Trackback auf deine Seite.
< ?php } elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) { ? >
Zur Zeit können keine Kommentare abgegeben werden. Setze doch einen < a href="< ?php trackback_url(true); ? > " rel="trackback">Trackback auf deine Seite.
< ?php } elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) { ? >
Pings setzen ist zur Zeit nicht erlaubt.
<h2 class="center">Nichts gefunden</h2>
<p class="center">Sorry, aber du suchst etwas was nicht da ist.</p>
<?php include (TEMPLATEPATH . "/searchform.php"); ?>
<?php endif; ?>
Zu einem Beitrag gehören wiederum auch Kommentare – welche wir jedoch noch gar nicht behandelt haben. Lediglich haben wir einen Befehlt gesetzt der eine Template holt. Wie kann das sein? Wir haben doch bisher keinen Template für Kommentare erstellt? WordPress sucht sich die comments.php aus der Core-Referenz „default“. Deswegen sollte beim erstellen eines eigenen Templates, dieser Ordner niemals gelöscht werden.
Für die Kommentare können wir uns aus dem „default“-Ordner bedienen und in unseren „Theme“-Ordner kopieren. Wir sollten jedoch eine Blick in die Datei werfen und ggf. das englische durch deutsch ersetzen.
Weiteres Vorgehen
WordPress benötigt für volle Funktionalität folgende Dateien:
style.css *
comments.php *
comments-popup.php *
header.php *
footer.php *
sidebar.php *
home.php
single.php *
index.php * is used if the query template is not present.
page.php
category.php
author.php
date.php
archive.php
search.php
searchform.php
404.php
* haben wir bereits erstellt.
Was tun wir als nächstes? Ich erstmal nichts mehr. Ich denke der Grundsatz von „eigenen Template“ sollte klar geworden sein. Deine Aufgabe nun ist es für alle weiteren Dateien Templates für dein Theme zu erstellen und das Stylesheet zu füllen. Hierzu gibt es dann demnächst auch noch ein kleines Tutorial…
Hier wurde auch nur mit Wasser gekocht und somit können Fehler und Unstimmigkeiten halt auftreten. Das ist keine Absicht sondern einfach Menschlich. Ich bin dankbar für jede Kritik oder Hinweis, sofern das in einem konstruktiven und respektvollen Rahmen abläuft.
Dieses Tutorial wurde von Steffen Thalmann erstellt und dem Webdesignblog zur Verfügung gestellt. Vielen dank!
[Mit einigen wenigen HTML- und Template-Tags haben wir uns somit eine füllige Seitennavigation gebastelt. Wenn wir uns nun mal die Seite im Browser wieder betrachten, werden wir am unteren Ende der Navigation eine PHP-Fehlermeldung sehen. Das kommt daher, weil wir eine Date „searchform.php“ eingebettet haben. Wir errinnern uns jedoch nicht daran diese Datei angelegt zu haben oder? Also: schnell nachholgen mit folgendem Inhalt:
Setze hier hinter dem Div „menue“ ebenfalls ein
]
Nach “Inhalt” fehlt was und nach “ebenfalls ein” fehlt was…
Ja, vielen dank, waren noch ein paar Codeauszeichnnungen falsch, sollte nun einigermaßen passen.
Bernhard Wanger,
März 18, 2006:
Hallo
Vielen Dank für dein Tutorial, es hat mir eine übersichtliche Einführung in die Erstellung von Templates für Wordpress gegeben.
Allerdings habe ich noch zwei Fehler gefunden:
- In deinem Code steht öfters < code> anstellen von <code> (also ohne Leerzeichen).
- Deine Links im Abschnitt “Zeige Metainformationen” werden nicht geschlossen.
Hallo Bernhard, vielen dank für deine Hinweise. Ich verwende in Wordpress eine “Code”-Funktion, leider funktioniert sie nicht perfekt daher muss ich manche PHP, als auch HTML-Befehle entwerten, indem ich sie zum Beispiel so schreibe: < ?php>
Ausserdem möchte ich noch darauf hinweisen, das dieses umfangreiche Tutorial seiner Zeit von Stefan Thalmann geschrieben wurde und dann, freundlicherweise, dem Webdesignblog zur Verfügung gestellt wurde.
Hi, bin zwar nicht blond, aber nicht so erfahren :-( (leider), gibts denn nirgends eine komplette Anleitungs wie ich ein Template selber bauen kann? Klar gibts genug Freebies, aber ich bin noch nicht auf das gestossen, was mir wirklich zusagt bzw. eins das muss dann wieder kaufen ,und nur kann ich mit dem Anbieter keinen Kontakt aufnehmen weil den deine Kontaktformular nciht aufrufbar ist.
Kann mir denn keiner helfen?
LG von Delphin308
lach, ups - dachte nur weil da steht:”
Was tun wir als nächstes? Ich erstmal nichts mehr. Ich denke der Grundsatz von „eigenen Template“ sollte klar geworden sein. Deine Aufgabe nun ist es für alle weiteren Dateien Templates für dein Theme zu erstellen und das Stylesheet zu füllen. Hierzu gibt es dann demnächst auch noch ein kleines Tutorial…”
LG von Delphin308
PS: Könnte ich Sie auch privat anschreiben, damit ihr nicht soviel von meiner “Dämlichkeit” erscheint *g
Hi nochmal,
war auch ein Missverständnis meinerseits:
Das Tutorial oben ist von Steffen Thalmann erstellt und dem Webdesignblog freundlicherweise zu Verfügung gestellt worden, ich wollte den Text in seinem original belassen und deshalb steht der Satz noch mit drin. Dennoch handelt es sich hierbei um ein vollwertiges Tutorial zur Erstellung eines Wordpress Templates, Steffen geht darum auch nicht auf die Erstellung eines Stylesheets im allgemeinen ein, da dies der Bereich von CSS ist und dieses Thema ein ganzes Buch füllen würde.
Natürlich kannst du mich privat anschreiben, aber bitte nur wenn du mich nicht sie’zt ;)
Meine Emailadresse lautet: christianstrang@web.de allerdings kann ich dir keine Fragen in Bezug auf “Wie erstellt man ein Stylesheet” und dergleichen geben, dafür gibt es sehr gute Artikel im Internet.
P.S. Ich finde nicht das du dich dämlich angestellt hast, wenn ich mich zurückerinnere hab ich schlimmeres von mir gegeben ;)
Hi Christian, danke für diesen Tutorial :) wenn man das als Grungerüst für Themes nimmt, und daraus z.B. paar rohe 2 oder 3 Columns Themes baut, muss man später nur CSS anpassen, um dem Blog neues Aussehen zu verpassen ;)
Birgit,
Juli 19, 2006:
Habe gerade nach diesem Tutorial gearbeitet und erst mal Danke an Autor und Hoster. Ein paar Anmerkungen:
Ich bin zwar fit in HTML und CSS, PHP ist mir aber ein böhmisches Dorf und Wordpress habe ich gestern erstmals installiert.
Ein wenig verloren war ich am Anfang, da war zum Teil nicht ganz klar in welche Datei welcher Code soll. Abhilfe brachte ein Blick in den default-Ordner.
Wegen der Code-Umsetzung haben sich auch einige Code-Fehler eingeschlichen (oder war’s ein Test, der den Lernenden gleich das Debugging mit beibringen sollte?): Wenn man den Code kopiert, sind oft vor und hinter dem ? im PHP-Tag Leerzeichen, die da nicht hingehören. Manchmal auch in HTML-Tags. Im PHP Code fehlt oft das abschließende Semikolon am Ende.
Das lässt sich selbst bis auf die Datei single.php auch ganz gut korrigieren. In dieser Datei jedoch wird’s mächtig unübersichtlich und - nach meinem laienhaften PHP-Verständnis - auch fehlerhaft. Eine Korrektur wäre fantastisch!
Hi Birgit,
die Fehler im Code sind keine Absicht, ich habe die Erklärung dafür nun an den Anfang dieses Artikels geschrieben und hoffe das euch dieser Artikel dennoch einen Nutzen bringt. Viel Erfolg und vorallem Spass bei der weiteren Template-Entwicklung!
Dann kann ich ja in die Wordpresswelt einsteigen, danke ;)
Kai,
November 28, 2006:
Ich habe eine Frage:
In der index.php ist das Tag leer! Eigentlich sollte doch dort der Name des Blog Eintrages stehen!
Was für ein Eischub gibt es dafür?
Ich betreibe inzwischen zwei Blogs und vier CMS auf Wordpress Basis.
Wie man sieht, ist mit Wordpress vieles möglich. Die Bedienung ist auch für den Kunden in vielen Fällen viel simpler als mit einigen anderen vollwertigen CMS Systemen.
Mit HTML Kenntnisse und etwas PHP lässt sich vieles auf die eigene Bedürfnisse anpassen …
Also irgendwie gibts nen Hammer Fehler. und deswegen steig ich grad gar nicht durch.
Bei:
Von Kopf bis Fuss und dazwischen nichts.
Da wird zuerst der Header.php erwähnt. Also die aufmachen und alles reinschreiben. Aber weiter unten soll ich dann die Footer.php mit beenden? muss ich des verstehen?
Ich habs nun nochmal hervorgehoben und hoffe das es nun verständlich ist, was in welche Datei kommt. In der footer.php stehen wirklich nur die schliessenden HTML-Tags.
Oh, wie schön. Hier habe ich eine gute Hilfe, wie ich eine alte Seite, bei der ich mich schon mit Websitebaker versuche, auf WP umzustellen.
Danke!
Patric,
August 17, 2007:
ich habe inzwischen schon mehrere templates für wordpress erstellt.
allerdings nur kompatibel mit bzw. für firefox.
sicherlich geht es dabei um css und hat hier eigentlich nichts zu suchen, aber gibt es im zusammenhang mit wordpress nicht einen möglichkeit eine größere menge an browsern mit einzubinden.
ein template oder layout mit div, css blablabla an firefox anzupassen ist relative einfach.
beim IE allerding habe ich immer so meine probleme, unter anderem auch da meine css kenntnisse noch nicht so gut sind.
hoffe es gibt hier ein paar leute die mir ein paar gute tipps geben können oder so freundlich sind und mir ein oder zwei links geben.
Wie du schon richtig gesagt hast, das Layout und seine Darstellung hat in dem Sinne nichts mit der Template-Engine von Wordpress zu tun. Um Seiten kompatibler zu machen empfehle ich dir einfach das Layout für den Firefox zu entwerfen und danach die Mängel im IE zu beheben. Auch wenn ich kein Freund des IE bin, soviele Unterschiede gibts da nun auch nicht ;)
FallenLoki,
September 27, 2007:
“Hier wurde auch nur mit Wasser gekocht und somit können Fehler und Unstimmigkeiten halt auftreten.”
… dieser Ausspruch trifft es doch sehr genau und es muss ganz schön wenig Wasser gewesen sein. Gerade wenn man bedenkt, dass auf ein bereits vorhandenes Tutorial aufgebaut wurde.
Hi!
Ich kann Fallen Loki mal überhaupt nicht zustimmen! Wenn man von HTML, CSS und PHP keine Ahnung hat, sollte man die Finger von WP-Templates lassen.
Ich habe mit diesem Tutorial den Grundstein für meinen Blog gelegt. Es sind meine ersten schritte in Wordpress und ich komme sehr gut zurecht. Anhand dieser Infos und der offiziellen Templatetag-Doku von Wordpress kommt man ganz nach vorne! Super!
Besten Dank Michael, das Tutorial ist nicht von mir, aber der Autor hatte ihn mir netterweise zur Verfügung gestellt und ich glaube dieses Tutorial (auch wenn mein Wordpress manche Formatierungen zerstört hat) hat schon vielen geholfen ein eigenes Wordpress-Template zu machen!
danke für diese anleitung, habe mir ein design als grafik erstellt, leider ist es mir nicht möglich daraus ein wp themes zu machen, kann da mir jemand helfen
Daniel,
Februar 19, 2008:
Super Tutorial, danke für die Mühe. Hat mir sehr geholfen das Templatesystem von WP zu verstehen, danke!
Vielen Dank für das Tutorial..trotz Kritik und kleiner Fehler hat es mir sehr geholfen das Prinzip von Wordpress zu verstehen.
Peter,
Juli 6, 2008:
Hi,
ich finde es zwar toll, dass Du Dir diese Arbeit gemacht hast.
Aber: ich sehe der Beitrag ist schon einige Tage älter. Warum also hast du es nicht geschafft die Fehler mal zu entfernen? Somit ist es für Newbies wirklich keine Hilfe. Ausserdem ist in deinem Beitrag irgendwo ab der 2. Hälfte ein Fehler. Es erscheint alles nur noch als ein einziger großer Link.
Wenn Du das noch in den Griff bekommen würdest, TOP!
Vielen Dank für das Tutorial. Gibt es irgendwo den Sourcecode, welcher hier besprochen wird, zum Download. Das ganze Template nochmals in einem ZIP-Archiv zu haben, fände ich sehr gut. Leider habe ich nichts dergleichen gefunden.
Olli,
Dezember 9, 2008:
Tausend Dank! Super Einstieg in WP. Habe nie die Geduld gehabt, mich mit dem WP-Source auseinanderzusetzen. Diese kleine Einführung hier zeigt, wie einfach das ganze eigentlich ist. Von jetzt an ist die Templateerstellung kein Problem mehr.
Wenn man als action-Attribut des Suchformulars echo $_SERVER['PHP_SELF']; angibt, entsteht eine Cross-Site Scripting Sicherheitslücke. Man sollte hier bestimmte Zeichen kodieren.
Danke, ist zwar schon ein paar Tage alt der Artikel aber er hat mir einen lehrreichen Nachmittag verschafft. Das Ergebnis ist irgendwie immer noch nicht “vollständig” aber trotzdem ist das ein gelungener Einstieg in die Materie. Schreib doch mehr davon :)
Vielen Dank für das super Tutorial, werde mich am Wochenende mal mehr damit beschäftigen und mal sehen,vielleicht hab auch ich dann bald mein eigenes Template :-)!
Tut mir leid, die Kommentarfunktion für diesen Beitrag ist geschlossen.
webdesign nürnberg: schöner Artikel der vor allem Einsteiger eine gute (Berechnungs-) Orientierung gibt. Ich war übrigens letztens beim ATU (Auto Teile Unger) und...
Dominik: Hallo, da wurde mir letztens erst ein sehr amüsantes Video bei YouTube gezeigt, was dem Thema recht nahe kommt. http://www.youtube.com/watch?v=JI3Df7-KFtw...
Marie: vielleicht, wenn jetzt jemand sich erbarmt und ein bookmarklet draus macht?
Also sirgendwas stimmt da nicht:
[Mit einigen wenigen HTML- und Template-Tags haben wir uns somit eine füllige Seitennavigation gebastelt. Wenn wir uns nun mal die Seite im Browser wieder betrachten, werden wir am unteren Ende der Navigation eine PHP-Fehlermeldung sehen. Das kommt daher, weil wir eine Date „searchform.php“ eingebettet haben. Wir errinnern uns jedoch nicht daran diese Datei angelegt zu haben oder? Also: schnell nachholgen mit folgendem Inhalt:
Setze hier hinter dem Div „menue“ ebenfalls ein
]
Nach “Inhalt” fehlt was und nach “ebenfalls ein” fehlt was…
Ja, vielen dank, waren noch ein paar Codeauszeichnnungen falsch, sollte nun einigermaßen passen.
Hallo
Vielen Dank für dein Tutorial, es hat mir eine übersichtliche Einführung in die Erstellung von Templates für Wordpress gegeben.
Allerdings habe ich noch zwei Fehler gefunden:
- In deinem Code steht öfters < code> anstellen von <code> (also ohne Leerzeichen).
- Deine Links im Abschnitt “Zeige Metainformationen” werden nicht geschlossen.
Freundliche Grüsse
Hallo Bernhard, vielen dank für deine Hinweise. Ich verwende in Wordpress eine “Code”-Funktion, leider funktioniert sie nicht perfekt daher muss ich manche PHP, als auch HTML-Befehle entwerten, indem ich sie zum Beispiel so schreibe: < ?php>
Ausserdem möchte ich noch darauf hinweisen, das dieses umfangreiche Tutorial seiner Zeit von Stefan Thalmann geschrieben wurde und dann, freundlicherweise, dem Webdesignblog zur Verfügung gestellt wurde.
Hi, bin zwar nicht blond, aber nicht so erfahren :-( (leider), gibts denn nirgends eine komplette Anleitungs wie ich ein Template selber bauen kann? Klar gibts genug Freebies, aber ich bin noch nicht auf das gestossen, was mir wirklich zusagt bzw. eins das muss dann wieder kaufen ,und nur kann ich mit dem Anbieter keinen Kontakt aufnehmen weil den deine Kontaktformular nciht aufrufbar ist.
Kann mir denn keiner helfen?
LG von Delphin308
?? ich dachte dies wäre ein komplettes Tutorial zum erstellen eines Templates?
lach, ups - dachte nur weil da steht:”
Was tun wir als nächstes? Ich erstmal nichts mehr. Ich denke der Grundsatz von „eigenen Template“ sollte klar geworden sein. Deine Aufgabe nun ist es für alle weiteren Dateien Templates für dein Theme zu erstellen und das Stylesheet zu füllen. Hierzu gibt es dann demnächst auch noch ein kleines Tutorial…”
LG von Delphin308
PS: Könnte ich Sie auch privat anschreiben, damit ihr nicht soviel von meiner “Dämlichkeit” erscheint *g
Hi nochmal,
war auch ein Missverständnis meinerseits:
Das Tutorial oben ist von Steffen Thalmann erstellt und dem Webdesignblog freundlicherweise zu Verfügung gestellt worden, ich wollte den Text in seinem original belassen und deshalb steht der Satz noch mit drin. Dennoch handelt es sich hierbei um ein vollwertiges Tutorial zur Erstellung eines Wordpress Templates, Steffen geht darum auch nicht auf die Erstellung eines Stylesheets im allgemeinen ein, da dies der Bereich von CSS ist und dieses Thema ein ganzes Buch füllen würde.
Natürlich kannst du mich privat anschreiben, aber bitte nur wenn du mich nicht sie’zt ;)
Meine Emailadresse lautet: christianstrang@web.de allerdings kann ich dir keine Fragen in Bezug auf “Wie erstellt man ein Stylesheet” und dergleichen geben, dafür gibt es sehr gute Artikel im Internet.
P.S. Ich finde nicht das du dich dämlich angestellt hast, wenn ich mich zurückerinnere hab ich schlimmeres von mir gegeben ;)
Hi Christian, danke für diesen Tutorial :) wenn man das als Grungerüst für Themes nimmt, und daraus z.B. paar rohe 2 oder 3 Columns Themes baut, muss man später nur CSS anpassen, um dem Blog neues Aussehen zu verpassen ;)
Habe gerade nach diesem Tutorial gearbeitet und erst mal Danke an Autor und Hoster. Ein paar Anmerkungen:
Ich bin zwar fit in HTML und CSS, PHP ist mir aber ein böhmisches Dorf und Wordpress habe ich gestern erstmals installiert.
Ein wenig verloren war ich am Anfang, da war zum Teil nicht ganz klar in welche Datei welcher Code soll. Abhilfe brachte ein Blick in den default-Ordner.
Wegen der Code-Umsetzung haben sich auch einige Code-Fehler eingeschlichen (oder war’s ein Test, der den Lernenden gleich das Debugging mit beibringen sollte?): Wenn man den Code kopiert, sind oft vor und hinter dem ? im PHP-Tag Leerzeichen, die da nicht hingehören. Manchmal auch in HTML-Tags. Im PHP Code fehlt oft das abschließende Semikolon am Ende.
Das lässt sich selbst bis auf die Datei single.php auch ganz gut korrigieren. In dieser Datei jedoch wird’s mächtig unübersichtlich und - nach meinem laienhaften PHP-Verständnis - auch fehlerhaft. Eine Korrektur wäre fantastisch!
Sonnige Grüße
Birgit
Hi Birgit,
die Fehler im Code sind keine Absicht, ich habe die Erklärung dafür nun an den Anfang dieses Artikels geschrieben und hoffe das euch dieser Artikel dennoch einen Nutzen bringt. Viel Erfolg und vorallem Spass bei der weiteren Template-Entwicklung!
Fehlt im h1 Tag nicht noch (hoffe das funktioniert jetzt)
/”>Hallo Christian,
ich habe mich mal dran gesetzt, ist aber schon ziemlich aufwendig. Aber das Tutorial ist sehr hilfreich, danke für denTipp.
Super Tutorial. Hat mir sehr weitergeholfen. Weiter So.
So ein Tutorial habe ich schon lange gesucht, werde mir wohl endlich mein eigenes Wordpress Template umsetzten können.
Dann kann ich ja in die Wordpresswelt einsteigen, danke ;)
Ich habe eine Frage:
In der index.php ist das Tag leer! Eigentlich sollte doch dort der Name des Blog Eintrages stehen!
Was für ein Eischub gibt es dafür?
Sehr schönes Tutorial. Ich bin alles Schritt für Schritt durchgegangen und werden demnächst das neue Template aktivieren. Danke schonmal! Gruß
sehr gutes tutorial, hat mir alles nahe gebracht, was ich brauchte ^^
Danke
Ich betreibe inzwischen zwei Blogs und vier CMS auf Wordpress Basis.
Wie man sieht, ist mit Wordpress vieles möglich. Die Bedienung ist auch für den Kunden in vielen Fällen viel simpler als mit einigen anderen vollwertigen CMS Systemen.
Mit HTML Kenntnisse und etwas PHP lässt sich vieles auf die eigene Bedürfnisse anpassen …
Also irgendwie gibts nen Hammer Fehler. und deswegen steig ich grad gar nicht durch.
Bei:
Von Kopf bis Fuss und dazwischen nichts.
Da wird zuerst der Header.php erwähnt. Also die aufmachen und alles reinschreiben. Aber weiter unten soll ich dann die Footer.php mit beenden? muss ich des verstehen?
Ich habs nun nochmal hervorgehoben und hoffe das es nun verständlich ist, was in welche Datei kommt. In der footer.php stehen wirklich nur die schliessenden HTML-Tags.
Hey, danke für die Anleitung.Hat mir sehr geholfen.
Gruß
vielen Dank für das Tutorial. Sind zwar noch einige Fehler drinne und iss manchmal bischen komisch erklärt aber im großen und Ganzen sehr gut.
hallo, ich erhalte folgende fehlermeldung:
Parse error: syntax error, unexpected T_ELSE in /mnt/web6/31/43/5438443/htdocs/harz/wp-content/themes/test/index.php on line 14
die index.php beinhaltet folgenden code:
“>
geschrieben am in von ·
Nichts gefunden
Sorry, aber du suchst etwas was nicht da ist.
kann mir jemand weiterhelfen??? :-S danke!
ach, verdammt.. der eingefügte code wird sicherlich irgendwie interpretiert, ne?
also, in meiner index.php steht in zeile 14 folgendes:
achtung! ich habe vor das 1. fragezeichen und hinter das 2. fragezeichen ein leerzeichen eingefügt. nun sollte es sichtbar sein!
Sehr schönes Tutorial hat mir sehr weitergeholfen
Sehr Stark
Oh, wie schön. Hier habe ich eine gute Hilfe, wie ich eine alte Seite, bei der ich mich schon mit Websitebaker versuche, auf WP umzustellen.
Danke!
ich habe inzwischen schon mehrere templates für wordpress erstellt.
allerdings nur kompatibel mit bzw. für firefox.
sicherlich geht es dabei um css und hat hier eigentlich nichts zu suchen, aber gibt es im zusammenhang mit wordpress nicht einen möglichkeit eine größere menge an browsern mit einzubinden.
ein template oder layout mit div, css blablabla an firefox anzupassen ist relative einfach.
beim IE allerding habe ich immer so meine probleme, unter anderem auch da meine css kenntnisse noch nicht so gut sind.
hoffe es gibt hier ein paar leute die mir ein paar gute tipps geben können oder so freundlich sind und mir ein oder zwei links geben.
Wie du schon richtig gesagt hast, das Layout und seine Darstellung hat in dem Sinne nichts mit der Template-Engine von Wordpress zu tun. Um Seiten kompatibler zu machen empfehle ich dir einfach das Layout für den Firefox zu entwerfen und danach die Mängel im IE zu beheben. Auch wenn ich kein Freund des IE bin, soviele Unterschiede gibts da nun auch nicht ;)
“Hier wurde auch nur mit Wasser gekocht und somit können Fehler und Unstimmigkeiten halt auftreten.”
… dieser Ausspruch trifft es doch sehr genau und es muss ganz schön wenig Wasser gewesen sein. Gerade wenn man bedenkt, dass auf ein bereits vorhandenes Tutorial aufgebaut wurde.
Als Note würde ich eine 4- anpeilen.
MfG FallenLoki
Hi!
Ich kann Fallen Loki mal überhaupt nicht zustimmen! Wenn man von HTML, CSS und PHP keine Ahnung hat, sollte man die Finger von WP-Templates lassen.
Ich habe mit diesem Tutorial den Grundstein für meinen Blog gelegt. Es sind meine ersten schritte in Wordpress und ich komme sehr gut zurecht. Anhand dieser Infos und der offiziellen Templatetag-Doku von Wordpress kommt man ganz nach vorne! Super!
Vielen Dank!
Besten Dank Michael, das Tutorial ist nicht von mir, aber der Autor hatte ihn mir netterweise zur Verfügung gestellt und ich glaube dieses Tutorial (auch wenn mein Wordpress manche Formatierungen zerstört hat) hat schon vielen geholfen ein eigenes Wordpress-Template zu machen!
danke für diese anleitung, habe mir ein design als grafik erstellt, leider ist es mir nicht möglich daraus ein wp themes zu machen, kann da mir jemand helfen
Super Tutorial, danke für die Mühe. Hat mir sehr geholfen das Templatesystem von WP zu verstehen, danke!
Vielen Dank für das Tutorial..trotz Kritik und kleiner Fehler hat es mir sehr geholfen das Prinzip von Wordpress zu verstehen.
Hi,
ich finde es zwar toll, dass Du Dir diese Arbeit gemacht hast.
Aber: ich sehe der Beitrag ist schon einige Tage älter. Warum also hast du es nicht geschafft die Fehler mal zu entfernen? Somit ist es für Newbies wirklich keine Hilfe. Ausserdem ist in deinem Beitrag irgendwo ab der 2. Hälfte ein Fehler. Es erscheint alles nur noch als ein einziger großer Link.
Wenn Du das noch in den Griff bekommen würdest, TOP!
Gruß und danke
Peter
Hallo,
Wenn ich deinen Beitrag durchlese geht ab ca der Hälfte ein link bis kurz vor ende!
ich hoffe du verstehst was ich meine!
Hallo,
habe mir ebenfalls überlegt ein wp template selber zu erstellen, aber wie ich sehe ich das dann doch nicht so einfach!
Würde mir gerne ein Template erstellen mit 3 oder 4 Spalten…
Hat von Euch jemand einen Tipp? wo ich kleine aber saubere Vorlagen finden kann? Danke!
Vielen Dank für das Tutorial. Gibt es irgendwo den Sourcecode, welcher hier besprochen wird, zum Download. Das ganze Template nochmals in einem ZIP-Archiv zu haben, fände ich sehr gut. Leider habe ich nichts dergleichen gefunden.
Tausend Dank! Super Einstieg in WP. Habe nie die Geduld gehabt, mich mit dem WP-Source auseinanderzusetzen. Diese kleine Einführung hier zeigt, wie einfach das ganze eigentlich ist. Von jetzt an ist die Templateerstellung kein Problem mehr.
Danke für das Tutorial, aber ACHTUNG!
Wenn man als action-Attribut des Suchformulars echo $_SERVER['PHP_SELF']; angibt, entsteht eine Cross-Site Scripting Sicherheitslücke. Man sollte hier bestimmte Zeichen kodieren.
Lösung:
echo htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES);
Danke, ist zwar schon ein paar Tage alt der Artikel aber er hat mir einen lehrreichen Nachmittag verschafft. Das Ergebnis ist irgendwie immer noch nicht “vollständig” aber trotzdem ist das ein gelungener Einstieg in die Materie. Schreib doch mehr davon :)
Vielen Dank für das super Tutorial, werde mich am Wochenende mal mehr damit beschäftigen und mal sehen,vielleicht hab auch ich dann bald mein eigenes Template :-)!