{"id":15864,"date":"2026-10-29T19:20:39","date_gmt":"2026-10-29T12:20:39","guid":{"rendered":"\/de\/tutorials\/?p=15864"},"modified":"2026-10-29T19:20:42","modified_gmt":"2026-10-29T12:20:42","slug":"wordpress-theme-erstellen","status":"publish","type":"post","link":"\/de\/tutorials\/wordpress-theme-erstellen\/","title":{"rendered":"WordPress-Theme erstellen: Anleitung in 6 Schritten mit Code"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Sie k&ouml;nnen zwar jederzeit ein vorgefertigtes WordPress-Theme installieren, mit einem selbst erstellten Theme verleihen Sie Ihrer Website jedoch einen individuelleren Look.<\/p><p class=\"wp-block-paragraph\">Wenn Sie Ihr eigenes Theme mit g&auml;ngigen Sprachen wie PHP, HTML und CSS programmieren, k&ouml;nnen Sie au&szlig;erdem gezielt die Funktionen und Elemente integrieren, die Sie ben&ouml;tigen, und so die Leistung Ihrer Website verbessern.<\/p><p class=\"wp-block-paragraph\">Ein WordPress-Theme von Grund auf zu erstellen, muss nicht kompliziert sein. F&uuml;r ein einfaches Theme mit einem einheitlichen Layout und statischen Elementen ben&ouml;tigen Sie beispielsweise nur zwei Dateien.<\/p><p class=\"wp-block-paragraph\">In dieser Anleitung erfahren Sie, wie Sie in sechs Schritten ein eigenes WordPress-Theme erstellen:<\/p><ul class=\"wp-block-list\">\n<li><strong>Erstellen und speichern Sie die Template-Dateien.<\/strong> Legen Sie wichtige Dateien wie <code>index.php<\/code>, <code>style.css<\/code>, <code>header.php<\/code> und <code>footer.php<\/code> im WordPress-Theme-Verzeichnis an. Diese Dateien bestimmen das Layout und die Funktionen Ihres Themes und sollten sich im selben Ordner befinden.<\/li>\n\n\n\n<li><strong>Richten Sie das erste CSS-Stylesheet ein.<\/strong> Erg&auml;nzen Sie <code>style.css<\/code> um die Metadaten des Themes und grundlegende CSS-Regeln, die dessen Erscheinungsbild festlegen. WordPress erkennt die Datei und zeigt die grundlegenden Gestaltungsinformationen im Admin-Bereich an.<\/li>\n\n\n\n<li><strong>Machen Sie das WordPress-Theme funktionsf&auml;hig.<\/strong> Erg&auml;nzen Sie <code>functions.php<\/code> um wichtige Funktionen, beispielsweise die Unterst&uuml;tzung von Widgets und individuellen Navigationsmen&uuml;s. Binden Sie externe Ressourcen und Funktionen ein, damit das Theme innerhalb der WordPress-Umgebung ordnungsgem&auml;&szlig; funktioniert.<\/li>\n\n\n\n<li><strong>Erstellen Sie das Layout Ihres eigenen Themes.<\/strong> Passen Sie Template-Dateien wie <code>header.php<\/code>, <code>footer.php<\/code> und <code>single.php<\/code> an, um die Struktur Ihrer Website festzulegen. Verbinden Sie die einzelnen Bereiche mithilfe von Funktionen wie <code>get_header()<\/code> und <code>get_footer()<\/code>, um ein einheitliches Design zu schaffen.<\/li>\n\n\n\n<li><strong>Optimieren Sie das Design mit CSS.<\/strong> Erg&auml;nzen Sie benutzerdefinierten CSS-Code, um Elemente wie das Logo, den Header und den Footer zu gestalten. Achten Sie darauf, dass das Design responsiv ist und sich an unterschiedliche Bildschirmgr&ouml;&szlig;en anpasst.<\/li>\n\n\n\n<li><strong>Testen Sie Ihr Theme und stellen Sie es bereit.<\/strong> &Uuml;berpr&uuml;fen Sie zun&auml;chst auf einer Staging-Website, ob das Theme korrekt dargestellt wird. Laden Sie anschlie&szlig;end den Theme-Ordner auf Ihre Live-Website hoch und aktivieren Sie das Theme im WordPress-Admin-Bereich.<\/li>\n<\/ul><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-entwicklungsumgebung-fur-wordpress-themes-einrichten\">Entwicklungsumgebung f&uuml;r WordPress-Themes einrichten<\/h2><p class=\"wp-block-paragraph\">Wenn Sie ein eigenes Theme entwickeln, sollten Sie es nicht sofort auf Ihrer Live-Website einsetzen, da dabei Fehler auftreten k&ouml;nnen.<\/p><p class=\"wp-block-paragraph\">Richten Sie stattdessen eine WordPress-Staging-Umgebung mit dem integrierten Tool ein, das in <a data-click-id=\"hgr-post-content-link-hostingers-managed-hosting-fur-wordpress-plan\" href=\"\/de\/wordpress-hosting\">Hostingers Managed Hosting f&uuml;r WordPress-Plan<\/a> enthalten ist. Das geht schneller als die Einrichtung einer lokalen Entwicklungsumgebung, da Sie nicht mehrere Tools installieren m&uuml;ssen.<\/p><p class=\"wp-block-paragraph\">&Ouml;ffnen Sie dazu das <strong>Hostinger-Dashboard<\/strong> und navigieren Sie zu <strong>Websites<\/strong> &rarr; <strong>Dashboard<\/strong>. Klicken Sie in der Seitenleiste auf <strong>WordPress<\/strong> &rarr; <strong>Staging<\/strong>.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"476\" height=\"310\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Position-des-Staging-Tools-auf-der-Website-Verwaltungsseite-von-hPanel.png\/public\" alt=\"Position des Staging-Tools in der Website-Verwaltung von hPanel\" class=\"wp-image-15854\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Position-des-Staging-Tools-auf-der-Website-Verwaltungsseite-von-hPanel.png\/w=476,fit=scale-down 476w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Position-des-Staging-Tools-auf-der-Website-Verwaltungsseite-von-hPanel.png\/w=300,fit=scale-down 300w\" sizes=\"(max-width: 476px) 100vw, 476px\" \/><\/figure>\n<\/div><p class=\"wp-block-paragraph\"><a data-click-id=\"hgr-post-content-link-erstellen-sie-anschliesend-eine-wordpress-staging-umgebung\" href=\"\/de\/tutorials\/wordpress-staging-site-erstellen\/\">Erstellen Sie anschlie&szlig;end eine WordPress-Staging-Umgebung<\/a>, indem Sie zum Tab <strong>Staging<\/strong> wechseln und auf <strong>Staging erstellen<\/strong> klicken. Geben Sie die gew&uuml;nschte Subdomain ein und klicken Sie auf <strong>Erstellen<\/strong>.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a data-click-id=\"hgr-post-content-link-de-wordpress-hosting\" aria-label=\"Wordpress hosting\" href=\"\/de\/wordpress-hosting\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2024\/06\/DE-New-WP_in-text-banner.png\/public\" alt=\"\" class=\"wp-image-4104\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2024\/06\/DE-New-WP_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2024\/06\/DE-New-WP_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2024\/06\/DE-New-WP_in-text-banner.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-so-erstellen-sie-ein-wordpress-theme\">So erstellen Sie ein WordPress-Theme<\/h2><p class=\"wp-block-paragraph\">Nachdem Sie die Staging-Umgebung eingerichtet haben, k&ouml;nnen Sie mit den folgenden Schritten ein WordPress-Theme von Grund auf mit PHP, HTML5 und CSS3 erstellen.<\/p><h3 class=\"wp-block-heading h-t-title-3\">1. Erstellen und speichern Sie die Template-Dateien<\/h3><p class=\"wp-block-paragraph\">F&uuml;r ein eigenes WordPress-Theme ben&ouml;tigen Sie mindestens zwei Dateien. Die Datei <code>index.php<\/code> dient zur Anzeige der Inhalte, w&auml;hrend <code>style.css<\/code> die visuelle Gestaltung &hellip; beispielsweise die Schriftarten &ndash; festlegt.<\/p><p class=\"wp-block-paragraph\">Die meisten WordPress-Themes enthalten jedoch zus&auml;tzliche Template-Dateien, die das Layout bestimmter Website-Bereiche wie Beitr&auml;ge und Seiten bestimmen. Zu den g&auml;ngigsten geh&ouml;ren:<\/p><ul class=\"wp-block-list\">\n<li><strong>header.php<\/strong> &ndash; enth&auml;lt den HTML-Code, der im oberen Bereich Ihrer WordPress-Website angezeigt wird.<\/li>\n\n\n\n<li><strong>footer.php<\/strong> &ndash; enth&auml;lt den HTML-Code f&uuml;r den unteren Bereich Ihrer Website.<\/li>\n\n\n\n<li><strong>sidebar.php<\/strong> &ndash; erzeugt die Elemente der Seitenleiste.<\/li>\n\n\n\n<li><strong>functions.php<\/strong> &ndash; erweitert das Theme um Funktionen, beispielsweise <a data-click-id=\"hgr-post-content-link-wordpress-widgets\" href=\"\/de\/tutorials\/wordpress-widgets\/\">WordPress-Widgets<\/a>.<\/li>\n\n\n\n<li><strong>single.php<\/strong> &ndash; stellt einzelne Beitr&auml;ge einschlie&szlig;lich benutzerdefinierter Beitragstypen dar.<\/li>\n\n\n\n<li><strong>page.php<\/strong> &ndash; zeigt die statischen Inhalte einer einzelnen Seite an.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">In dieser Anleitung verwenden wir alle genannten Dateien. Gehen Sie wie folgt vor, um sie auf Ihrer Staging-Website zu erstellen:<\/p><ol start=\"1\" class=\"wp-block-list\">\n<li>Melden Sie sich im Hostinger-Dashboard an und &ouml;ffnen Sie den <strong>Dateimanager<\/strong> Ihrer Website.<\/li>\n<\/ol><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1273\" height=\"364\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Schaltflache-Dateimanager-im-hPanel-Dashboard-zur-Website-Verwaltung.png\/w=1024,h=1024,fit=scale-down\" alt=\"Die Schaltfl&auml;che &bdquo;Dateimanager&ldquo; im hPanel-Dashboard zur Website-Verwaltung\" class=\"wp-image-15855\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Schaltflache-Dateimanager-im-hPanel-Dashboard-zur-Website-Verwaltung.png\/w=1273,fit=scale-down 1273w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Schaltflache-Dateimanager-im-hPanel-Dashboard-zur-Website-Verwaltung.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Schaltflache-Dateimanager-im-hPanel-Dashboard-zur-Website-Verwaltung.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Schaltflache-Dateimanager-im-hPanel-Dashboard-zur-Website-Verwaltung.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1273px) 100vw, 1273px\" \/><\/figure>\n<\/div><ol start=\"2\" class=\"wp-block-list\">\n<li>&Ouml;ffnen Sie das WordPress-Theme-Verzeichnis &uuml;ber <strong>public_html<\/strong> &rarr; <strong>staging<\/strong> &rarr; <strong>wp-content<\/strong> &rarr; <strong>themes<\/strong>.<\/li>\n\n\n\n<li>Klicken Sie in der Seitenleiste auf <strong>Neuer Ordner<\/strong>.<\/li>\n\n\n\n<li>Geben Sie einen Namen f&uuml;r Ihr Theme ein. Er sollte eindeutig und kurz sein und ausschlie&szlig;lich Buchstaben und Zahlen ohne Leerzeichen enthalten. Klicken Sie auf <strong>Erstellen<\/strong>.<\/li>\n\n\n\n<li>&Ouml;ffnen Sie den Ordner mit einem Doppelklick und w&auml;hlen Sie in der Seitenleiste <strong>Neue Datei<\/strong> aus.<\/li>\n\n\n\n<li>Geben Sie <code>index.php<\/code> ein und klicken Sie auf <strong>Erstellen<\/strong>.<\/li>\n\n\n\n<li>Wiederholen Sie die beiden vorherigen Schritte f&uuml;r alle weiteren Template-Dateien. In dieser Anleitung erstellen wir <code>style.css<\/code>, <code>header.php<\/code>, <code>footer.php<\/code>, <code>functions.php<\/code>, <code>sidebar.php<\/code>, <code>single.php<\/code> und <code>page.php<\/code>.<\/li>\n<\/ol><p class=\"wp-block-paragraph\">Speichern Sie alle Theme-Dateien im selben Ordner innerhalb des WordPress-Installationsverzeichnisses. So kann das CMS die Dateien entsprechend der <a data-click-id=\"hgr-post-content-link-template-hierarchie\" href=\"https:\/\/developer.wordpress.org\/themes\/basics\/template-hierarchy\/\" target=\"_blank\" rel=\"noopener\">Template-Hierarchie<\/a> laden.<\/p><p class=\"wp-block-paragraph\">Wenn Ihre gesamte Website dasselbe Layout verwendet, ben&ouml;tigen Sie nicht alle benutzerdefinierten Templates. Wir empfehlen dennoch, die Dateien getrennt anzulegen. So k&ouml;nnen Sie den Hauptcode von zus&auml;tzlichen Inhalten trennen und Ihr Theme sp&auml;ter einfacher anpassen.<\/p><p class=\"wp-block-paragraph\">F&uuml;r dynamische Designelemente m&uuml;ssen Sie au&szlig;erdem JavaScript-Dateien im Theme-Verzeichnis erstellen. Darauf verzichten wir in dieser Anleitung. Stattdessen legen wir einen Ordner namens <code>Images<\/code> an, in dem wir Bilddateien wie Logos speichern.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1488\" height=\"637\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Inhalt-eines-neuen-Themes.png\/w=1024,h=1024,fit=scale-down\" alt=\"Inhalt eines neu erstellten Theme-Ordners\" class=\"wp-image-15856\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Inhalt-eines-neuen-Themes.png\/w=1488,fit=scale-down 1488w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Inhalt-eines-neuen-Themes.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Inhalt-eines-neuen-Themes.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Inhalt-eines-neuen-Themes.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1488px) 100vw, 1488px\" \/><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Die Theme-Dateien sind bisher leer. Im n&auml;chsten Schritt f&uuml;gen wir zun&auml;chst die grundlegende Gestaltung hinzu und erstellen anschlie&szlig;end das Layout.<\/p><h3 class=\"wp-block-heading h-t-title-3\">2. Richten Sie das erste CSS-Stylesheet ein<\/h3><p class=\"wp-block-paragraph\">Nachdem Sie alle Template-Dateien erstellt haben, k&ouml;nnen Sie mit der Programmierung beginnen. Erg&auml;nzen Sie zun&auml;chst das zuvor angelegte Stylesheet <code>style.css<\/code> um die Angaben, anhand derer WordPress Ihr Theme erkennt.<\/p><p class=\"wp-block-paragraph\">Dazu geh&ouml;ren der Theme-Name, der Autor und eine Beschreibung. Diese Informationen erscheinen sp&auml;ter im WordPress-Admin-Bereich und m&uuml;ssen dem Format des <a data-click-id=\"hgr-post-content-link-wordpress-dateiheaders\" href=\"https:\/\/codex.wordpress.org\/File_Header#Theme\" target=\"_blank\" rel=\"noopener\">WordPress-Dateiheaders<\/a> entsprechen. Hier ein Beispiel:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/*\nTheme Name: My Theme\nAuthor: Hostinger\nAuthor URI: http:\/\/www.hostinger.com\/tutorials\nDescription: My first responsive HTML5 theme\nVersion: 1.0\nLicense: GNU General Public License v3 or later\nLicense URI: http:\/\/www.gnu.org\/licenses\/gpl-3.0.html<\/pre><p>\n\n\n<div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                Wenn Sie Ihr Theme ver&ouml;ffentlichen m&ouml;chten, sind die letzten beiden Zeilen mit den Lizenzinformationen verpflichtend. Andernfalls k&ouml;nnen Sie sie weglassen.\n            <\/p><\/div>\n\n\n\n<\/p><p class=\"wp-block-paragraph\">Klicken Sie oben rechts auf das <strong>Diskettensymbol<\/strong>, um die Datei zu speichern. Kehren Sie anschlie&szlig;end im Hostinger-Dashboard zur Website-Verwaltung zur&uuml;ck und &ouml;ffnen Sie <strong>WordPress<\/strong> &rarr; <strong>Staging<\/strong>. Klicken Sie bei Ihrer Testumgebung auf <strong>Staging verwalten<\/strong> und w&auml;hlen Sie <strong>Staging-Admin-Bereich<\/strong> aus.<\/p><p class=\"wp-block-paragraph\">&Ouml;ffnen Sie in der Seitenleiste <strong>Design<\/strong> &rarr; <strong>Themes<\/strong>. Dort sehen Sie nun das Grundger&uuml;st Ihres Themes.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"323\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Im-WordPress-Themes-Menu-wird-ein-leeres-Theme-angezeigt.png\/w=1024,h=1024,fit=scale-down\" alt=\"Ein leeres Theme im WordPress-Men&uuml; &bdquo;Themes&ldquo;\" class=\"wp-image-15857\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Im-WordPress-Themes-Menu-wird-ein-leeres-Theme-angezeigt.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Im-WordPress-Themes-Menu-wird-ein-leeres-Theme-angezeigt.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Im-WordPress-Themes-Menu-wird-ein-leeres-Theme-angezeigt.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Als N&auml;chstes gestalten wir das Theme. &Ouml;ffnen Sie dazu das Stylesheet und f&uuml;gen Sie unterhalb des Dateiheaders Ihren CSS-Code ein. Mit dem folgenden Beispiel &auml;ndern wir die Hintergrundfarbe:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">* {\n  box-sizing: border-box;\n}\n\nbody {\n  background-color: #f9f9f9;\n  font-family: Helvetica;\n}<\/pre><p class=\"wp-block-paragraph\">Sehen wir uns den Code genauer an. Das Sternchen (<code>*<\/code>) am Anfang ist ein universeller CSS-Selektor, der alle HTML-Elemente ausw&auml;hlt. Auf diese Elemente werden die Regeln innerhalb des ersten geschweiften Klammerpaares angewendet. Hier legen wir mit <code>box-sizing<\/code> fest, wie die Abmessungen eines Elements im <a data-click-id=\"hgr-post-content-link-css-box-modell\" href=\"https:\/\/www.w3schools.com\/css\/css_boxmodel.asp\" target=\"_blank\" rel=\"noopener\">CSS-Box-Modell<\/a> berechnet werden, das aus Inhalt, Innenabstand und Rahmen besteht.<\/p><p class=\"wp-block-paragraph\">Der zweite CSS-Regelsatz bestimmt die Hintergrundfarbe und die Standardschriftart f&uuml;r die HTML-Inhalte innerhalb des <code>&lt;body&gt;<\/code>-Elements.<\/p><p class=\"wp-block-paragraph\">Da noch keine HTML-Inhalte vorhanden sind, werden Sie vorerst keine &Auml;nderungen sehen. Sobald wir die Elemente und die Struktur des Themes erstellt haben, erg&auml;nzen wir weitere CSS-Regeln.<\/p><h3 class=\"wp-block-heading h-t-title-3\">3. Machen Sie das WordPress-Theme funktionsf&auml;hig<\/h3><p class=\"wp-block-paragraph\">Nachdem Ihr WordPress-Theme im Admin-Dashboard angezeigt wird, k&ouml;nnen wir seine Struktur und Funktionen einrichten. Dazu erg&auml;nzen wir die Dateien <code>functions.php<\/code> und <code>sidebar.php<\/code> um entsprechenden Code.<\/p><p class=\"wp-block-paragraph\"><strong>functions.php<\/strong><\/p><p class=\"wp-block-paragraph\">Browser k&ouml;nnen Ihr WordPress-Theme aufgrund unterschiedlicher Standardeinstellungen f&uuml;r Au&szlig;en- und Innenabst&auml;nde unterschiedlich darstellen. Damit das Layout m&ouml;glichst einheitlich angezeigt wird, binden Sie die Datei <a data-click-id=\"hgr-post-content-link-normalize-css\" href=\"https:\/\/necolas.github.io\/normalize.css\/\" target=\"_blank\" rel=\"noopener\">normalize.css<\/a> &uuml;ber <code>functions.php<\/code> ein.<\/p><p class=\"wp-block-paragraph\"><code>normalize.css<\/code> ist ein vorgefertigtes Stylesheet, das eine einheitliche Grundlage f&uuml;r Ihren CSS-Code schafft und Darstellungsunterschiede zwischen Browsern ausgleicht. F&uuml;gen Sie dazu die folgende Funktion in <code>functions.php<\/code> ein:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ This function enqueues the Normalize.css for use.\n\/\/ The first parameter is a name for the stylesheet,\n\/\/ the second is the URL. Here we use an online\n\/\/ version of the css file.\nfunction add_normalize_CSS() {\n    wp_enqueue_style(\n        'normalize-styles',\n        \"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/normalize\/7.0.0\/normalize.min.css\"\n    );\n}\n\nadd_action('wp_enqueue_scripts', 'add_normalize_CSS');<\/pre><p class=\"wp-block-paragraph\">Dieser Code weist WordPress an, die Datei <code>normalize.css<\/code> von der angegebenen <a data-click-id=\"hgr-post-content-link-quell-url\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/normalize\/7.0.0\/normalize.min.css\" target=\"_blank\" rel=\"noopener\">Quell-URL<\/a> zu laden.<\/p><p class=\"wp-block-paragraph\">F&uuml;gen Sie anschlie&szlig;end eine Funktion hinzu, um einen <strong>Widget-Bereich<\/strong> beziehungsweise eine <strong>Seitenleiste<\/strong> zu aktivieren. Widgets sind modulare Erweiterungen, mit denen Sie bestimmte Funktionen in verschiedene Bereiche Ihrer WordPress-Website integrieren k&ouml;nnen.<\/p><p class=\"wp-block-paragraph\">Erg&auml;nzen Sie den vorherigen Code um den folgenden Abschnitt:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ Register a new sidebar simply named 'sidebar'\nfunction add_widget_support() {\n    register_sidebar( array(\n        'name'          =&gt; 'Sidebar',\n        'id'            =&gt; 'sidebar',\n        'before_widget' =&gt; '&lt;div&gt;',\n        'after_widget'  =&gt; '&lt;\/div&gt;',\n        'before_title'  =&gt; '&lt;h2&gt;',\n        'after_title'   =&gt; '&lt;\/h2&gt;',\n    ) );\n}\n\n\/\/ Hook the widget initiation and run our function\nadd_action( 'widgets_init', 'add_widget_support' );<\/pre><p class=\"wp-block-paragraph\">Aktivieren Sie das Theme nun &uuml;ber <strong>Design<\/strong> &rarr; <strong>Themes<\/strong>, indem Sie auf <strong>Aktivieren<\/strong> klicken. Anschlie&szlig;end sollte unter <strong>Design<\/strong> der Men&uuml;punkt <strong>Widgets<\/strong> erscheinen. Dort k&ouml;nnen Sie Widgets zu Ihrer Website hinzuf&uuml;gen oder vorhandene Widgets entfernen.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"405\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Das-Widget-Menu-eines-neu-erstellten-Themes.png\/w=1024,h=1024,fit=scale-down\" alt=\"Das Widgets-Men&uuml; eines neu erstellten WordPress-Themes\" class=\"wp-image-15858\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Das-Widget-Menu-eines-neu-erstellten-Themes.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Das-Widget-Menu-eines-neu-erstellten-Themes.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Das-Widget-Menu-eines-neu-erstellten-Themes.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Der Code verwendet einen sogenannten Action-Hook. Mit diesem Mechanismus lassen sich PHP-Funktionen an bestimmten Stellen in WordPress ausf&uuml;hren, um Einstellungen und Funktionen zu erweitern, ohne die Core-Dateien zu ver&auml;ndern. Auf Hooks gehen wir sp&auml;ter noch genauer ein.<\/p><p class=\"wp-block-paragraph\">F&uuml;gen Sie abschlie&szlig;end den folgenden Code hinzu, um ein individuelles Navigationsmen&uuml; zu registrieren:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ Register a new navigation menu\nfunction add_Main_Nav() {\n    register_nav_menu('header-menu', __( 'Header Menu' ));\n}\n\n\/\/ Hook to the init action hook, run our navigation menu function\nadd_action( 'init', 'add_Main_Nav' );<\/pre><p class=\"wp-block-paragraph\">Dadurch erscheint unter <strong>Design<\/strong> der Men&uuml;punkt <strong>Men&uuml;s<\/strong>. Denken Sie daran, den neuen Code nach jeder &Auml;nderung zu speichern. Klicken Sie dazu im Code-Editor des <strong>Dateimanagers<\/strong> auf das <strong>Diskettensymbol<\/strong>.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1397\" height=\"309\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Speichern-Schaltflache-im-Dateimanager-Code-Editor.png\/w=1024,h=1024,fit=scale-down\" alt=\"Die Speichern-Schaltfl&auml;che im Code-Editor des Dateimanagers\" class=\"wp-image-15859\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Speichern-Schaltflache-im-Dateimanager-Code-Editor.png\/w=1397,fit=scale-down 1397w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Speichern-Schaltflache-im-Dateimanager-Code-Editor.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Speichern-Schaltflache-im-Dateimanager-Code-Editor.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Speichern-Schaltflache-im-Dateimanager-Code-Editor.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1397px) 100vw, 1397px\" \/><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Sie k&ouml;nnen Ihrem Theme noch weitere Funktionen hinzuf&uuml;gen. H&auml;ufig integrieren WordPress-Website-Besitzer beispielsweise Beitragsbilder und Vorschaubilder f&uuml;r Beitr&auml;ge.<\/p><p class=\"wp-block-paragraph\"><strong>sidebar.php<\/strong><\/p><p class=\"wp-block-paragraph\">Als N&auml;chstes richten wir die Seitenleiste unseres WordPress-Themes ein, damit die Widgets mithilfe der Funktion <a data-click-id=\"hgr-post-content-link-get_sidebar\" href=\"https:\/\/developer.wordpress.org\/reference\/functions\/get_sidebar\/\" target=\"_blank\" rel=\"noopener\">get_sidebar()<\/a> angezeigt werden k&ouml;nnen.<\/p><p class=\"wp-block-paragraph\">F&uuml;gen Sie den folgenden Code in <code>sidebar.php<\/code> ein und speichern Sie die Datei:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php if ( is_active_sidebar( 'sidebar' ) ) : ?&gt;\n  &lt;aside id=\"primary-sidebar\" class=\"primary-sidebar widget-area\" role=\"complementary\"&gt;\n    &lt;?php dynamic_sidebar( 'sidebar' ); ?&gt;\n  &lt;\/aside&gt;\n&lt;?php endif; ?&gt;<\/pre><p class=\"wp-block-paragraph\">Die <code>if<\/code>-Anweisung pr&uuml;ft, ob die Seitenleiste aktiv ist und Widgets enth&auml;lt. Ist dies der Fall, werden die Widgets angezeigt, die Sie unter <strong>Design<\/strong> &rarr; <strong>Widgets<\/strong> hinzugef&uuml;gt haben.<\/p><h3 class=\"wp-block-heading h-t-title-3\">4. Erstellen Sie das Layout Ihres eigenen Themes<\/h3><p class=\"wp-block-paragraph\">Nachdem wir die Seitenleiste und die Funktion zur CSS-Normalisierung eingerichtet haben, k&ouml;nnen wir das Layout unseres WordPress-Themes erstellen. Am Ende dieses Schritts nimmt die Struktur Ihrer Website Gestalt an.<\/p><p class=\"wp-block-paragraph\">Neben <code>index.php<\/code> bearbeiten wir die Dateien <code>header.php<\/code>, <code>footer.php<\/code>, <code>single.php<\/code>, <code>page.php<\/code> und <code>style.php<\/code>, um den verschiedenen Seiten ein eigenes Layout zu geben.<\/p><p class=\"wp-block-paragraph\"><strong>header.php<\/strong><\/p><p class=\"wp-block-paragraph\">Die Template-Datei <code>header.php<\/code> legt den oberen Bereich Ihrer Website fest. Beginnen Sie mit folgendem Code:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;<\/pre><p class=\"wp-block-paragraph\">Dieses Meta-Tag ist eine Grundlage f&uuml;r responsives Design. Es sorgt daf&uuml;r, dass die Breite des Viewports der Ger&auml;tebreite entspricht und das Layout Ihres WordPress-Themes an unterschiedliche Bildschirmgr&ouml;&szlig;en angepasst werden kann. Dieses Konzept erl&auml;utern wir sp&auml;ter ausf&uuml;hrlicher.<\/p><p class=\"wp-block-paragraph\">F&uuml;gen Sie anschlie&szlig;end Folgendes hinzu:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;!DOCTYPE html&gt;\n&lt;html &lt;?php language_attributes(); ?&gt;&gt;<\/pre><p class=\"wp-block-paragraph\">Die <code>DOCTYPE<\/code>-Deklaration informiert den Browser dar&uuml;ber, dass es sich um ein HTML-Dokument handelt. Die Funktion <code>language_attributes()<\/code> erg&auml;nzt das HTML-Element um die entsprechenden Sprach- und Textrichtungsattribute.<\/p><p class=\"wp-block-paragraph\">Erstellen Sie danach den Bereich zwischen <code>&lt;head&gt;<\/code> und <code>&lt;\/head&gt;<\/code>. Dieser enth&auml;lt die Metadaten des Dokuments, beispielsweise den Seitentitel, den verwendeten Zeichensatz, die Viewport-Einstellungen f&uuml;r responsives Design und die Verkn&uuml;pfung zum Stylesheet. F&uuml;r diese Angaben werden unterschiedliche HTML-Tags verwendet.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;head&gt;\n  &lt;title&gt;&lt;?php bloginfo('name'); ?&gt; &amp;raquo; &lt;?php is_front_page() ? bloginfo('description') : wp_title(''); ?&gt;&lt;\/title&gt;\n  &lt;meta charset=\"&lt;?php bloginfo( 'charset' ); ?&gt;\"&gt;\n  &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n  &lt;link rel=\"stylesheet\" href=\"&lt;?php bloginfo('stylesheet_url'); ?&gt;\"&gt;\n  &lt;?php wp_head(); ?&gt;\n&lt;\/head&gt;<\/pre><p class=\"wp-block-paragraph\">Anschlie&szlig;end &ouml;ffnen wir den <code>&lt;body&gt;<\/code>-Bereich des HTML-Dokuments. Mit der Funktion <code>body_class()<\/code> weist WordPress dem <code>&lt;body&gt;<\/code>-Element automatisch CSS-Klassen zu, die wir sp&auml;ter f&uuml;r die Gestaltung verwenden k&ouml;nnen.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;body &lt;?php body_class(); ?&gt;&gt;<\/pre><p class=\"wp-block-paragraph\">F&uuml;gen Sie nun den Header mit der CSS-Klasse <code>my-logo<\/code> hinzu. Innerhalb der Tags <code>&lt;h1&gt;<\/code> und <code>&lt;\/h1&gt;<\/code> binden wir das Logo aus dem Ordner <code>Images<\/code> ein. Es dient als Haupt&uuml;berschrift und ist mit der Startseite Ihrer Website verlinkt.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;header class=\"my-logo\"&gt;\n    &lt;h1&gt;&lt;a href=\"&lt;?php echo esc_url( home_url( '\/' ) ); ?&gt;\"&gt;&lt;img src=\"&lt;?php echo get_template_directory_uri(); ?&gt;\/Images\/logo.png\" alt=\"Site Logo\" width=\"50px\" height=\"50px\"&gt;&lt;\/a&gt;&lt;\/h1&gt;\n&lt;\/header&gt;<\/pre><p class=\"wp-block-paragraph\">F&uuml;gen Sie abschlie&szlig;end folgenden Code hinzu, um das Navigationsmen&uuml; im Header des Themes anzuzeigen:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php wp_nav_menu( array( 'header-menu' =&gt; 'header-menu' ) ); ?&gt;<\/pre><p class=\"wp-block-paragraph\"><strong>index.php<\/strong><\/p><p class=\"wp-block-paragraph\">Die Datei <code>index.php<\/code> definiert die Struktur der Startseite und dient als Standard-Template, wenn keine spezielleren Seiten-Templates vorhanden sind.<\/p><p class=\"wp-block-paragraph\">Wenn Sie unterschiedliche Layouts f&uuml;r Header, Seitenleiste und Footer verwenden, k&ouml;nnen Sie deren Code mithilfe von <a data-click-id=\"hgr-post-content-link-template-tags\" href=\"https:\/\/codex.wordpress.org\/Template_Tags\" target=\"_blank\" rel=\"noopener\">Template-Tags<\/a> in <code>index.php<\/code> einbinden. Mit <code>get_header()<\/code> laden Sie beispielsweise den Header. F&uuml;r die anderen Bereiche stehen entsprechende Funktionen zur Verf&uuml;gung.<\/p><p class=\"wp-block-paragraph\">Um Ihre Website in einzelne Bereiche zu unterteilen, verwenden Sie semantische HTML5-Elemente wie <code>&lt;header&gt;<\/code> und <code>&lt;section&gt;<\/code>. Wenn Sie diese mithilfe Ihres CSS-Stylesheets gestalten m&ouml;chten, k&ouml;nnen Sie ihnen Klassen zuweisen. Das funktioniert beispielsweise so:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;header class=\"class-name\"&gt;<\/pre><p>\n\n\n<div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                Header-Elemente k&ouml;nnen auf einer Seite mehrfach vorkommen und m&uuml;ssen sich nicht auf den Kopfbereich der gesamten Website beziehen. Semantische Bereiche sollten einen Header enthalten, wenn darin &Uuml;berschriften wie h1 oder h2 verwendet werden.\n            <\/p><\/div>\n\n\n\n<\/p><p class=\"wp-block-paragraph\">Das folgende Beispiel zeigt den Code f&uuml;r <code>index.php<\/code> mit Template-Tags und semantischen HTML-Elementen:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php get_header(); ?&gt;\n&lt;main class=\"wrap\"&gt;\n  &lt;section class=\"content-area content-thin\"&gt;\n    &lt;?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?&gt;\n      &lt;article class=\"article-loop\"&gt;\n        &lt;header&gt;\n          &lt;h2&gt;&lt;a href=\"&lt;?php the_permalink(); ?&gt;\" title=\"&lt;?php the_title_attribute(); ?&gt;\"&gt;&lt;?php the_title(); ?&gt;&lt;\/a&gt;&lt;\/h2&gt;\n          By: &lt;?php the_author(); ?&gt;\n        &lt;\/header&gt;\n        &lt;?php the_excerpt(); ?&gt;\n      &lt;\/article&gt;\n    &lt;?php endwhile; else : ?&gt;\n      &lt;article&gt;\n        &lt;p&gt;Sorry, no posts were found!&lt;\/p&gt;\n      &lt;\/article&gt;\n    &lt;?php endif; ?&gt;\n  &lt;\/section&gt;\n  &lt;?php get_sidebar(); ?&gt;\n&lt;\/main&gt;\n&lt;?php get_footer(); ?&gt;<\/pre><p class=\"wp-block-paragraph\">Der Code enth&auml;lt au&szlig;erdem einen WordPress-Loop. Dabei handelt es sich um PHP-Code, der Beitr&auml;ge aus der Datenbank abruft und ihre Daten an weitere Funktionen &uuml;bergibt. Der Loop beginnt mit <code>&lt;?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?&gt;<\/code> und endet mit <code>&lt;?php endif; ?&gt;<\/code>.<\/p><p class=\"wp-block-paragraph\">Innerhalb des Loops verwenden wir folgende Funktionen, um bestimmte Informationen zu einem Beitrag abzurufen:<\/p><ul class=\"wp-block-list\">\n<li><code>&lt;?php the_permalink(); ?&gt;<\/code> &ndash; gibt die URL des Beitrags aus.<\/li>\n\n\n\n<li><code>&lt;?php the_title_attribute(); ?&gt;<\/code> &ndash; gibt den Beitragstitel in einem Format aus, das sich f&uuml;r HTML-Attribute eignet.<\/li>\n\n\n\n<li><code>&lt;?php the_title(); ?&gt;<\/code> &ndash; zeigt den Titel des Beitrags an.<\/li>\n\n\n\n<li><code>&lt;?php the_author(); ?&gt;<\/code> &ndash; gibt den Namen des Beitragsautors aus.<\/li>\n\n\n\n<li><code>&lt;?php the_excerpt(); ?&gt;<\/code> &ndash; gibt einen Auszug des Beitrags aus. Wenn Sie keinen Auszug hinterlegt haben, wird dieser automatisch erstellt.<\/li>\n<\/ul><p class=\"wp-block-paragraph\"><strong>footer.php<\/strong><\/p><p class=\"wp-block-paragraph\">Die Datei <code>footer.php<\/code> bestimmt, welche Inhalte im unteren Bereich Ihres Themes erscheinen, beispielsweise Copyright-Angaben oder eine Sitemap. Hier k&ouml;nnen Sie auch die schlie&szlig;enden Tags <code>&lt;\/body&gt;<\/code> und <code>&lt;\/html&gt;<\/code> einf&uuml;gen, sofern diese nicht bereits in <code>header.php<\/code> vorhanden sind.<\/p><p class=\"wp-block-paragraph\">Verwenden Sie das semantische HTML-Element <code>&lt;footer&gt;<\/code>, um den Inhalt des Footers festzulegen. In unserem Beispiel f&uuml;gen wir am Seitenende einen Copyright-Hinweis hinzu.<\/p><p class=\"wp-block-paragraph\">Au&szlig;erdem integrieren wir den <a data-click-id=\"hgr-post-content-link-action-hook-wp_footer\" href=\"https:\/\/developer.wordpress.org\/reference\/hooks\/wp_footer\/\" target=\"_blank\" rel=\"noopener\">Action-Hook wp_footer<\/a>, damit &uuml;ber die Funktion <code>wp_footer()<\/code> entsprechender Code aus den WordPress-Core-Dateien oder Plugins ausgef&uuml;hrt werden kann.<\/p><p class=\"wp-block-paragraph\">Der vollst&auml;ndige Code sieht folgenderma&szlig;en aus:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;footer&gt;\n  &lt;p&gt;Copyright &amp;copy; 2025&lt;\/p&gt;\n&lt;\/footer&gt;\n&lt;?php wp_footer(); ?&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/pre><p class=\"wp-block-paragraph\"><strong>single.php<\/strong><\/p><p class=\"wp-block-paragraph\">Die Datei <code>single.php<\/code> legt das Layout f&uuml;r einzelne Beitr&auml;ge in WordPress fest. Neben Blogbeitr&auml;gen kann sie auch f&uuml;r benutzerdefinierte Beitragstypen verwendet werden, beispielsweise f&uuml;r Produktseiten eines Online-Shops.<\/p><p class=\"wp-block-paragraph\">Binden Sie zuerst die Header-Datei &uuml;ber die Funktion <code>get_header()<\/code> ein:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php get_header(); ?&gt;<\/pre><p class=\"wp-block-paragraph\">F&uuml;gen Sie anschlie&szlig;end die Tags <code>&lt;section&gt;<\/code> und <code>&lt;\/section&gt;<\/code> hinzu, um einen Container f&uuml;r den Hauptinhalt zu erstellen. Weisen Sie diesem Bereich eine CSS-Klasse zu, damit Sie ihn sp&auml;ter gestalten k&ouml;nnen.<\/p><p class=\"wp-block-paragraph\">Mit einem WordPress-Loop rufen wir die Beitragsinhalte ab und geben sie &uuml;ber <code>the_content()<\/code> aus.<\/p><p class=\"wp-block-paragraph\">Sind keine Beitragsinhalte vorhanden, wird stattdessen eine Fehlermeldung angezeigt. Der vollst&auml;ndige Code sieht so aus:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;main class=\"wrap\"&gt;\n  &lt;section class=\"content-area content-full-width\"&gt;\n    &lt;?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?&gt;\n      &lt;article class=\"article-full\"&gt;\n        &lt;header&gt;\n          &lt;h2&gt;&lt;?php the_title(); ?&gt;&lt;\/h2&gt;\n          By: &lt;?php the_author(); ?&gt;\n        &lt;\/header&gt;\n        &lt;?php the_content(); ?&gt;\n      &lt;\/article&gt;\n    &lt;?php endwhile; else : ?&gt;\n      &lt;article&gt;\n        &lt;p&gt;Sorry, no post was found!&lt;\/p&gt;\n      &lt;\/article&gt;\n    &lt;?php endif; ?&gt;\n  &lt;\/section&gt;\n&lt;\/main&gt;\n&lt;?php get_footer(); ?&gt;<\/pre><p class=\"wp-block-paragraph\">Anders als in den anderen Template-Dateien verwenden wir hier keine Funktion <code>get_sidebar()<\/code>. So werden die Seitenleiste und die Widgets bei einzelnen Beitr&auml;gen nicht angezeigt.<\/p><p class=\"wp-block-paragraph\"><strong>page.php<\/strong><\/p><p class=\"wp-block-paragraph\">Seiten wie Landingpages enthalten meist dauerhafte Inhalte, die sich nur selten &auml;ndern. Ist keine eigene Seiten-Template-Datei vorhanden, verwendet WordPress f&uuml;r diese Seiten <code>index.php<\/code> statt <code>single.php<\/code>.<\/p><p class=\"wp-block-paragraph\">F&uuml;r <code>page.php<\/code> nutzen wir &auml;hnlichen Code wie f&uuml;r <code>single.php<\/code>, nehmen aber einige Anpassungen vor, um die Darstellung von Seiten und Beitr&auml;gen zu unterscheiden. Wir f&uuml;gen eine Seitenleiste hinzu und verkleinern den Inhaltsbereich.<\/p><p class=\"wp-block-paragraph\">Der Code sieht folgenderma&szlig;en aus:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php get_header(); ?&gt;\n&lt;main class=\"wrap\"&gt;\n  &lt;section class=\"content-area content-thin\"&gt;\n    &lt;?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?&gt;\n      &lt;article class=\"article-full\"&gt;\n        &lt;header&gt;\n          &lt;h2&gt;&lt;?php the_title(); ?&gt;&lt;\/h2&gt;\n          By: &lt;?php the_author(); ?&gt;\n        &lt;\/header&gt;\n        &lt;?php the_content(); ?&gt;\n      &lt;\/article&gt;\n    &lt;?php endwhile; else : ?&gt;\n      &lt;article&gt;\n        &lt;p&gt;Sorry, no page content was found!&lt;\/p&gt;\n      &lt;\/article&gt;\n    &lt;?php endif; ?&gt;\n  &lt;\/section&gt;\n  &lt;?php get_sidebar(); ?&gt;\n&lt;\/main&gt;\n&lt;?php get_footer(); ?&gt;<\/pre><p class=\"wp-block-paragraph\">Obwohl wir denselben WordPress-Loop verwenden, verarbeitet dieser Code Seiten statt Beitr&auml;ge, da er sich in der Datei <code>page.php<\/code> befindet.<\/p><p class=\"wp-block-paragraph\">Ihr individuelles WordPress-Theme verf&uuml;gt nun &uuml;ber ein Layout und Inhalte. Wenn Sie Ihre Staging-Website aufrufen, sehen Sie allerdings zun&auml;chst nur unformatierten Text und das Logo, da die weiteren CSS-Regeln noch fehlen.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1577\" height=\"654\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Das-neue-Design-des-Themes-ohne-Gestaltung.png\/w=1024,h=1024,fit=scale-down\" alt=\"Das neu erstellte WordPress-Theme ohne zus&auml;tzliche Gestaltung\" class=\"wp-image-15861\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Das-neue-Design-des-Themes-ohne-Gestaltung.png\/w=1577,fit=scale-down 1577w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Das-neue-Design-des-Themes-ohne-Gestaltung.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Das-neue-Design-des-Themes-ohne-Gestaltung.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Das-neue-Design-des-Themes-ohne-Gestaltung.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1577px) 100vw, 1577px\" \/><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Sie k&ouml;nnen die PHP-Template-Dateien nicht nur &uuml;ber den Dateimanager bearbeiten, sondern auch den <strong>Theme-Datei-Editor<\/strong> verwenden, um Code hinzuzuf&uuml;gen oder zu &auml;ndern. Sie erreichen ihn &uuml;ber das Men&uuml; <strong>Design<\/strong> im WordPress-Admin-Dashboard.<\/p><h3 class=\"wp-block-heading h-t-title-3\">5. Optimieren Sie das Design mit CSS<\/h3><p class=\"wp-block-paragraph\">Nachdem Sie die HTML-Elemente erstellt und ihnen Klassen zugewiesen haben, k&ouml;nnen Sie deren Erscheinungsbild &uuml;ber das Stylesheet anpassen.<\/p><p class=\"wp-block-paragraph\">&Ouml;ffnen Sie dazu erneut <code>style.css<\/code> und f&uuml;gen Sie zun&auml;chst den folgenden Code hinzu, um die Breite, den Innenabstand und die Hintergrundfarbe des Logo-Bereichs zu &auml;ndern:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">.my-logo, footer {\n  width: 100%;\n  padding-left: 1%;\n  margin-bottom: 8px;\n  background-color: #78baff;\n  border: 1px solid #78baff;\n}<\/pre><p class=\"wp-block-paragraph\">Erg&auml;nzen Sie anschlie&szlig;end die folgenden CSS-Regeln, um die Verlinkung innerhalb der <code>h1<\/code>-&Uuml;berschrift, die Artikel und den Footer zu gestalten:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">body &gt; header &gt; h1 &gt; a {\n  color: #ffffff;\n  font-weight: 400;\n}\n\narticle &gt; header {\n}\n\nfooter {\n  margin-top: 4px;\n}\n\na {\n  text-decoration: none;\n}\n\n\/* 'Margin: 0 auto' centers block content on the page *\/\n.wrap {\n  width: 99%;\n  margin: 0 auto;\n}<\/pre><p class=\"wp-block-paragraph\">F&uuml;gen Sie abschlie&szlig;end die folgenden CSS-Regeln hinzu, um weitere Elemente wie den Inhaltsbereich und die Seitenleiste zu gestalten:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">.content-area {\n  display: inline-block;\n}\n\n.content-thin {\n  width: 70%;\n}\n\n.content-full-width {\n  width: 100%;\n}\n\n.content-area, .primary-sidebar {\n  display: inline-block;\n}\n\n.primary-sidebar {\n  width: 25%;\n  padding: 1%;\n  vertical-align: top;\n  background-color: #ececec;\n}\n\n.article-loop {\n  width: 45%;\n  text-align: left;\n  margin: 5px;\n  padding: 10px;\n}\n\n.article-full {\n  width: 99%;\n  padding: 1%;\n}\n\n.article-loop, .article-full {\n  display: inline-block;\n  vertical-align: top;\n  background-color: #FFF;\n  border-radius: 4px;\n  margin-bottom: 4px;\n}<\/pre><p class=\"wp-block-paragraph\">Nachdem Sie die neuen CSS-Regeln angewendet haben, sollte Ihre Staging-Website ungef&auml;hr so aussehen:<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"422\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Das-Erscheinungsbild-des-fertigen-WordPress-Themes.png\/w=1024,h=1024,fit=scale-down\" alt=\"Das fertige WordPress-Theme\" class=\"wp-image-15860\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Das-Erscheinungsbild-des-fertigen-WordPress-Themes.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Das-Erscheinungsbild-des-fertigen-WordPress-Themes.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Das-Erscheinungsbild-des-fertigen-WordPress-Themes.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Sie k&ouml;nnen das Stylesheet auch anpassen, indem Sie &uuml;ber den Theme-Editor <a data-click-id=\"hgr-post-content-link-benutzerdefiniertes-css-in-wordpress-hinzufugen\" href=\"\/de\/tutorials\/wordpress-css\/\">benutzerdefiniertes CSS in WordPress hinzuf&uuml;gen<\/a>. &Ouml;ffnen Sie dazu in der Seitenleiste <strong>Design<\/strong> &rarr; <strong>Themes<\/strong> &rarr; <strong>Anpassen<\/strong> &rarr; <strong>Zus&auml;tzliches CSS<\/strong>.<\/p><p>\n\n\n<div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                Da wir gerade ein klassisches Theme entwickeln, steht Ihnen das WordPress-Full-Site-Editing standardm&auml;&szlig;ig nicht zur Verf&uuml;gung. Verwenden Sie ein Theme-Builder-Plugin, um Ihr Theme anzupassen.\n            <\/p><\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading h-t-title-3\">6. Testen Sie Ihr Theme und stellen Sie es bereit<\/h3><p class=\"wp-block-paragraph\">Bevor Sie Ihr neues Theme auf Ihrer Live-Website bereitstellen, m&uuml;ssen Sie es zun&auml;chst in der WordPress-Staging-Umgebung aktivieren. So k&ouml;nnen Sie pr&uuml;fen, ob es korrekt dargestellt wird und alle Funktionen wie vorgesehen arbeiten.<\/p><p class=\"wp-block-paragraph\">&Ouml;ffnen Sie das WordPress-Admin-Dashboard Ihrer Staging-Website und aktivieren Sie das neue Theme &uuml;ber das Men&uuml; <strong>Themes<\/strong>. Rufen Sie anschlie&szlig;end die Test-Website auf, indem Sie oben in der Admin-Leiste auf <strong>Zur Website<\/strong> klicken.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"776\" height=\"115\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Schaltflache-Website-besuchen-im-Admin-Bereich-der-Staging-Site.png\/public\" alt=\"Die Schaltfl&auml;che &bdquo;Zur Website&ldquo; im Admin-Bereich der Staging-Website\" class=\"wp-image-15862\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Schaltflache-Website-besuchen-im-Admin-Bereich-der-Staging-Site.png\/w=776,fit=scale-down 776w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Schaltflache-Website-besuchen-im-Admin-Bereich-der-Staging-Site.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Schaltflache-Website-besuchen-im-Admin-Bereich-der-Staging-Site.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 776px) 100vw, 776px\" \/><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Wenn Sie die Darstellung und die verschiedenen Layouts &uuml;berpr&uuml;ft haben, k&ouml;nnen Sie das Theme auf Ihre Live-Website &uuml;bertragen.<\/p><p class=\"wp-block-paragraph\">&Ouml;ffnen Sie dazu erneut den <strong>Dateimanager<\/strong> Ihrer Staging-Umgebung, w&auml;hlen Sie den Theme-Ordner aus und klicken Sie in der oberen Leiste auf <strong>Herunterladen<\/strong>. Laden Sie den Ordner als <strong>ZIP-Datei<\/strong> herunter.<\/p><p class=\"wp-block-paragraph\">Entpacken Sie den Ordner auf Ihrem Computer und laden Sie ihn &uuml;ber den <strong>Dateimanager<\/strong> in das Verzeichnis <code>\/wp-content\/themes<\/code> Ihrer Live-Website hoch. Aktivieren Sie das Theme anschlie&szlig;end &uuml;ber das WordPress-Admin-Dashboard.<\/p><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-grundlegende-konzepte-der-wordpress-theme-entwicklung\">Grundlegende Konzepte der WordPress-Theme-Entwicklung<\/h2><p class=\"wp-block-paragraph\">Wenn Sie erst einmal Ihr eigenes WordPress-Theme erstellt haben, m&ouml;chten Sie sp&auml;ter m&ouml;glicherweise weitere Funktionen hinzuf&uuml;gen oder das Erscheinungsbild anpassen. Deshalb erl&auml;utern wir im Folgenden wichtige Grundlagen zur Gestaltung und Funktionsweise von WordPress-Themes.<\/p><h3 class=\"wp-block-heading h-t-title-3\">Media Queries und responsives Design<\/h3><p class=\"wp-block-paragraph\">Die Bildschirme Ihrer Website-Besucher unterscheiden sich hinsichtlich Aufl&ouml;sung, Gr&ouml;&szlig;e und Ausrichtung. Wenn Sie Ihr Theme ausschlie&szlig;lich f&uuml;r Desktop-Ger&auml;te entwickeln, wird es auf anderen Ger&auml;ten wie Smartphones m&ouml;glicherweise nicht korrekt angezeigt oder funktioniert nicht wie vorgesehen.<\/p><p class=\"wp-block-paragraph\">Mit responsivem Design stellen Sie sicher, dass Ihr Theme auf unterschiedlichen Bildschirmgr&ouml;&szlig;en ordnungsgem&auml;&szlig; funktioniert. Die Website passt dabei ihr Layout, die Anordnung der Inhalte und die Gr&ouml;&szlig;e einzelner Elemente automatisch an die Anzeigeeigenschaften des jeweiligen Ger&auml;ts an.<\/p><p class=\"wp-block-paragraph\">Verwenden Sie <strong>CSS-Media-Queries<\/strong>, um festzulegen, wie Inhalte bei unterschiedlichen Viewport-Gr&ouml;&szlig;en dargestellt werden. Dabei k&ouml;nnen Sie Prozentwerte nutzen, um das Layout und die Elementgr&ouml;&szlig;en im Verh&auml;ltnis zur Bildschirmgr&ouml;&szlig;e zu bestimmen.<\/p><p class=\"wp-block-paragraph\">Bei einem zweispaltigen Theme kann beispielsweise jede Spalte unabh&auml;ngig von der Aufl&ouml;sung und Ausrichtung 50 % der verf&uuml;gbaren Breite einnehmen.<\/p><p class=\"wp-block-paragraph\">F&uuml;r Media Queries stehen <a data-click-id=\"hgr-post-content-link-verschiedene-css-merkmale\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/CSS\/@media\" target=\"_blank\" rel=\"noopener\">verschiedene CSS-Merkmale<\/a> zur Verf&uuml;gung. Zu den h&auml;ufig verwendeten geh&ouml;ren:<\/p><ul class=\"wp-block-list\">\n<li><strong>max-width<\/strong> &ndash; legt die maximale Breite des sichtbaren Browserbereichs fest.<\/li>\n\n\n\n<li><strong>min-width<\/strong> &ndash; legt die minimale Breite des sichtbaren Bereichs fest.<\/li>\n\n\n\n<li><strong>orientation<\/strong> &ndash; pr&uuml;ft, ob der Bildschirm im Hoch- oder Querformat ausgerichtet ist.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Wir empfehlen, die Media Queries am Ende des Stylesheets einzuf&uuml;gen und die betreffenden Elemente &uuml;ber CSS-Klassen anzusprechen. So bleibt der Code &uuml;bersichtlich und das Theme l&auml;sst sich leichter anpassen.<\/p><p class=\"wp-block-paragraph\">Mit der folgenden Media Query k&ouml;nnen Sie beispielsweise die Breite des Hauptinhalts und der Seitenleiste unseres zuvor erstellten Themes automatisch anpassen:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">@media screen and (max-width: 400px) {\n  .content-area,\n  .primary-sidebar {\n    width: 80%;\n  }\n}<\/pre><p class=\"wp-block-paragraph\">Diese Regel gilt f&uuml;r Bildschirme und Browserfenster mit einer maximalen Breite von <strong>400 Pixeln<\/strong>. Die ausgew&auml;hlten Elemente mit den Klassen <code>content-area<\/code> und <code>primary-sidebar<\/code> erhalten innerhalb dieses Viewports eine Breite von <strong>80 %<\/strong> ihres jeweiligen Bezugsbereichs.<\/p><p class=\"wp-block-paragraph\">Damit Ihre Inhalte auch bei anderen Bildschirmgr&ouml;&szlig;en und -ausrichtungen korrekt dargestellt werden, ben&ouml;tigen Sie m&ouml;glicherweise zus&auml;tzliche Regeln. Sie k&ouml;nnen beispielsweise festlegen, dass die Elemente unter bestimmten Bedingungen die gesamte verf&uuml;gbare Breite einnehmen:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">@media screen and (max-width: 800px) {\n  .content-area,\n  .primary-sidebar {\n    width: 100%;\n  }\n}<\/pre><h3 class=\"wp-block-heading h-t-title-3\">Template-Tags<\/h3><p class=\"wp-block-paragraph\">Template-Tags sind PHP-Funktionen, mit denen Sie Dateien einbinden und komplexe Datenbankabfragen vereinfachen k&ouml;nnen. Statt umfangreichen Code selbst zu schreiben, k&ouml;nnen WordPress-Entwickler solche Aufgaben h&auml;ufig mit einer einzigen Codezeile erledigen.<\/p><p class=\"wp-block-paragraph\">Um ein bestimmtes Template auf einer Seite einzubinden, m&uuml;ssen Sie den entsprechenden Tag in die jeweilige Datei einf&uuml;gen. Wenn Sie beispielsweise den Footer nur auf der Startseite anzeigen m&ouml;chten, dann verwenden Sie <code>get_footer()<\/code> am Ende von <code>home.php<\/code>, nicht jedoch in <code>page.php<\/code>.<\/p><p class=\"wp-block-paragraph\">Einige Template-Tags sind optional, wenn Sie die zugeh&ouml;rigen Template-Dateien nicht verwenden. Andere sind notwendig, damit WordPress-Loops korrekt funktionieren. Sie rufen Beitragsinformationen aus der Datenbank ab und stellen diese f&uuml;r die weitere Verarbeitung zur Verf&uuml;gung.<\/p><p class=\"wp-block-paragraph\">Zu den h&auml;ufig verwendeten Template-Tags zum Einbinden von Dateien geh&ouml;ren:<\/p><ul class=\"wp-block-list\">\n<li><code>get_header()<\/code> &ndash; bindet das Template <code>header.php<\/code> ein.<\/li>\n\n\n\n<li><code>get_sidebar()<\/code> &ndash; l&auml;dt das Template <code>sidebar.php<\/code>.<\/li>\n\n\n\n<li><code>get_footer()<\/code> &ndash; bindet das Template <code>footer.php<\/code> ein.<\/li>\n\n\n\n<li><code>get_search_form()<\/code> &ndash; l&auml;dt das Template <code>searchform.php<\/code>.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Die folgenden Template-Tags geben Informationen aus der WordPress-Datenbank aus:<\/p><ul class=\"wp-block-list\">\n<li><code>bloginfo()<\/code> &ndash; zeigt die &uuml;ber den Parameter angeforderten Informationen an. Beispielsweise gibt <code>bloginfo(\"name\")<\/code> den Namen Ihrer Website aus.<\/li>\n\n\n\n<li><code>single_post_title()<\/code> &ndash; zeigt den Titel des aktuell aufgerufenen Beitrags an, wenn Sie die Funktion in <code>single.php<\/code> verwenden.<\/li>\n\n\n\n<li><code>the_author()<\/code> &ndash; gibt den Autor des aktuell angezeigten Beitrags aus.<\/li>\n\n\n\n<li><code>the_content()<\/code> &ndash; gibt den Hauptinhalt eines Beitrags oder einer Seite aus.<\/li>\n\n\n\n<li><code>the_excerpt()<\/code> &ndash; zeigt einen Auszug eines Beitrags oder einer Seite an.<\/li>\n<\/ul><h3 class=\"wp-block-heading h-t-title-3\">WordPress-Loop<\/h3><p class=\"wp-block-paragraph\">Ein WordPress-Loop ist ein Codeabschnitt, der Beitr&auml;ge durchl&auml;uft, ihre Daten abruft und an weitere Funktionen &uuml;bergibt. Seine grundlegende Aufgabe besteht darin, Inhalte aus der Datenbank zu laden und auf der Website anzuzeigen.<\/p><p class=\"wp-block-paragraph\">Bei der Entwicklung von WordPress-Themes ist der Loop entscheidend, um Beitr&auml;ge dynamisch darzustellen. Ohne ihn w&auml;ren Sie auf statische Inhalte beschr&auml;nkt, da die Template-Dateien nicht automatisch auf die aktuellen Informationen aus der Datenbank zugreifen k&ouml;nnten.<\/p><p class=\"wp-block-paragraph\">Der Loop wird in <code>index.php<\/code> und anderen Templates verwendet, die Beitragsinhalte anzeigen. Er beginnt mit einer <code>if<\/code>-Anweisung wie dieser:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?&gt;<\/pre><p class=\"wp-block-paragraph\">Anschlie&szlig;end legen Sie mit Template-Tags, HTML oder PHP-Funktionen fest, wie die abgerufenen Daten dargestellt werden sollen, sofern entsprechende Inhalte vorhanden sind. Mit <code>the_content()<\/code> k&ouml;nnen Sie beispielsweise den vollst&auml;ndigen Inhalt eines Beitrags anzeigen, w&auml;hrend <code>the_excerpt()<\/code> eine k&uuml;rzere Zusammenfassung ausgibt.<\/p><p class=\"wp-block-paragraph\">In unserer zuvor erstellten Datei <code>page.php<\/code> verwenden wir folgenden Code, um die Seiteninformationen als Hauptinhalt darzustellen:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;article class=\"article-full\"&gt;\n  &lt;header&gt;\n    &lt;h2&gt;&lt;?php the_title(); ?&gt;&lt;\/h2&gt;\n    By: &lt;?php the_author(); ?&gt;\n  &lt;\/header&gt;\n  &lt;?php the_content(); ?&gt;\n&lt;\/article&gt;<\/pre><p class=\"wp-block-paragraph\">Der WordPress-Loop enth&auml;lt au&szlig;erdem eine <code>else<\/code>-Anweisung, die festlegt, was geschieht, wenn keine passenden Daten vorhanden sind. In unserem Beispiel wird dann eine Fehlermeldung ausgegeben:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php endwhile; else : ?&gt;\n  &lt;p&gt;&lt;?php _e( 'Sorry, no pages matched your criteria.' ); ?&gt;&lt;\/p&gt;\n&lt;?php endif; ?&gt;<\/pre><h3 class=\"wp-block-heading h-t-title-3\">Action-Hooks<\/h3><p class=\"wp-block-paragraph\">Mit <a data-click-id=\"hgr-post-content-link-hooks\" href=\"https:\/\/www.hostinger.com\/tutorials\/what-are-wordpress-hooks\/\">Hooks<\/a> k&ouml;nnen Sie die Standardfunktionen von WordPress erweitern oder ver&auml;ndern, ohne die Core-Dateien zu bearbeiten. WordPress unterscheidet dabei zwei Arten von Hooks: <strong>Actions<\/strong> und <strong>Filter<\/strong>.<\/p><p class=\"wp-block-paragraph\">Filter-Hooks dienen dazu, vorhandene Daten zu ver&auml;ndern und die angepassten Werte zur&uuml;ckzugeben. Action-Hooks erm&ouml;glichen dagegen die Ausf&uuml;hrung zus&auml;tzlicher Funktionen zu bestimmten Zeitpunkten.<\/p><p class=\"wp-block-paragraph\">Mit Hooks k&ouml;nnen Sie au&szlig;erdem Funktionen aus WordPress-Plugins in Ihr Theme integrieren. Dadurch l&auml;sst sich die Kompatibilit&auml;t verschiedener Softwarekomponenten innerhalb des Content-Management-Systems (CMS) verbessern und ein stabiler Betrieb unterst&uuml;tzen.<\/p><p class=\"wp-block-paragraph\">Dar&uuml;ber hinaus k&ouml;nnen Sie Ihren Code mithilfe von Hooks auf verschiedene Dateien verteilen. Das vereinfacht sp&auml;tere &Auml;nderungen, Updates und die Fehlerbehebung. Hooks lassen sich auch verwenden, um zus&auml;tzliche Funktionen zu aktivieren &ndash; beispielsweise den integrierten WordPress-Customizer oder den Website-Editor f&uuml;r Block-Themes.<\/p><p class=\"wp-block-paragraph\">In unserem neu erstellten Theme verwenden wir die Funktion <code>wp_head()<\/code> in <code>header.php<\/code>. Sie l&ouml;st einen Action-Hook aus, &uuml;ber den WordPress und Plugins zus&auml;tzlichen Code in den HTML-Head-Bereich einf&uuml;gen k&ouml;nnen:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php wp_head(); ?&gt;\n&lt;\/head&gt;<\/pre><p class=\"wp-block-paragraph\">Die Funktion <code>wp_footer()<\/code> im Footer-Template l&ouml;st ebenfalls einen Action-Hook aus. Dar&uuml;ber k&ouml;nnen WordPress und Plugins zus&auml;tzlichen Code ausf&uuml;hren und beispielsweise ben&ouml;tigte Skripte einbinden:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php wp_footer(); ?&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/pre><p class=\"wp-block-paragraph\">Wenn Ihr Theme die erforderlichen Hooks nicht enth&auml;lt, wird wichtiger Code m&ouml;glicherweise nicht geladen und Plugins k&ouml;nnen ihre Funktionen nicht ordnungsgem&auml;&szlig; ausf&uuml;hren. Fehlt beispielsweise <code>wp_footer()<\/code>, wird unter Umst&auml;nden die WordPress-Admin-Leiste nicht angezeigt, da sie diesen Action-Hook verwendet.<\/p><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-best-practices-fur-die-erstellung-eines-wordpress-themes\">Best Practices f&uuml;r die Erstellung eines WordPress-Themes<\/h2><p class=\"wp-block-paragraph\">Damit Ihr WordPress-Theme zuverl&auml;ssig funktioniert und seine Integrit&auml;t gewahrt bleibt, sollten Sie bei der Entwicklung die folgenden Best Practices beachten.<\/p><h3 class=\"wp-block-heading h-t-title-3\">&Uuml;berpr&uuml;fen Sie den Code und die Dateien Ihres Themes<\/h3><p class=\"wp-block-paragraph\">Pr&uuml;fen Sie, ob Ihr neues Theme den aktuellen <a data-click-id=\"hgr-post-content-link-wordpress-richtlinien\" href=\"https:\/\/make.wordpress.org\/themes\/handbook\/review\/\" target=\"_blank\" rel=\"noopener\">WordPress-Richtlinien<\/a> entspricht. Neben der Funktionspr&uuml;fung hilft die Code-Validierung dabei, Probleme zu erkennen, die die Sicherheit, Kompatibilit&auml;t, Lizenzierung oder Qualit&auml;t beeintr&auml;chtigen k&ouml;nnten.<\/p><p class=\"wp-block-paragraph\">Besonders einfach geht das mit einem Plugin wie <a data-click-id=\"hgr-post-content-link-theme-check\" href=\"https:\/\/wordpress.org\/plugins\/theme-check\/\" target=\"_blank\" rel=\"noopener\">Theme Check<\/a>. Wir empfehlen, die Pr&uuml;fung nach &Auml;nderungen regelm&auml;&szlig;ig durchzuf&uuml;hren, damit Sie m&ouml;gliche Probleme fr&uuml;hzeitig erkennen.<\/p><h3 class=\"wp-block-heading h-t-title-3\">Testen Sie Ihr Theme auf verschiedenen Ger&auml;ten und in unterschiedlichen Browsern<\/h3><p class=\"wp-block-paragraph\">Um sicherzustellen, dass die Media Queries Ihres WordPress-Themes bei unterschiedlichen Viewport-Gr&ouml;&szlig;en korrekt funktionieren, sollten Sie die Website auf verschiedenen Ger&auml;ten testen.<\/p><p class=\"wp-block-paragraph\">Mit der Ger&auml;te-Symbolleiste Ihres Browsers k&ouml;nnen Sie unterschiedliche Bildschirmgr&ouml;&szlig;en simulieren. &Ouml;ffnen Sie in Google die Funktion mit <strong>Strg + Umschalt + C<\/strong> und anschlie&szlig;end <strong>Strg + Umschalt + M<\/strong>. &Uuml;ber die obere Leiste k&ouml;nnen Sie die Aufl&ouml;sung und das Seitenverh&auml;ltnis anpassen.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a data-click-id=\"hgr-post-content-link-de-tutorials-wp-content-uploads-sites-29-2026-10-die-funktio\" href=\"\/de\/tutorials\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Funktionsleiste-fur-Gerate-in-Google-Chrome.png\"><img decoding=\"async\" width=\"1388\" height=\"851\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Funktionsleiste-fur-Gerate-in-Google-Chrome.png\/w=1024,h=1024,fit=scale-down\" alt=\"Die Ger&auml;te-Symbolleiste in Google Chrome\" class=\"wp-image-15863\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Funktionsleiste-fur-Gerate-in-Google-Chrome.png\/w=1388,fit=scale-down 1388w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Funktionsleiste-fur-Gerate-in-Google-Chrome.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Funktionsleiste-fur-Gerate-in-Google-Chrome.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/10\/Die-Funktionsleiste-fur-Gerate-in-Google-Chrome.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1388px) 100vw, 1388px\" \/><\/a><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Testen Sie Ihr WordPress-Theme nicht nur auf verschiedenen Ger&auml;ten, sondern auch in unterschiedlichen Browsern. Da diese CSS und HTML teilweise unterschiedlich darstellen, k&ouml;nnen Fehler auftreten, die sich negativ auf die Benutzererfahrung auswirken.<\/p><h3 class=\"wp-block-heading h-t-title-3\">Verwenden Sie ein Starter-Theme<\/h3><p class=\"wp-block-paragraph\">Mit einem Starter-Theme k&ouml;nnen Sie die Entwicklung vereinfachen. Statt den gesamten Code von Grund auf zu schreiben, m&uuml;ssen Sie lediglich die gew&uuml;nschten Gestaltungselemente und Funktionen erg&auml;nzen.<\/p><p class=\"wp-block-paragraph\">Starter-Themes entsprechen in der Regel den WordPress-Coding-Standards und bieten damit eine solide Grundlage f&uuml;r die weitere Entwicklung. Einige verf&uuml;gen zudem &uuml;ber eine gro&szlig;e Community und eine umfangreiche Wissensdatenbank, die Ihnen bei der Fehlerbehebung helfen.<\/p><p class=\"wp-block-paragraph\">Da zahlreiche Starter-Themes verf&uuml;gbar sind, empfehlen wir eine kostenlose Variante von einem renommierten Entwickler, wie beispielsweise <a data-click-id=\"hgr-post-content-link-astra\" href=\"https:\/\/wpastra.com\/\" target=\"_blank\" rel=\"noopener\">Astra<\/a> oder Underscores.<\/p><h3 class=\"wp-block-heading h-t-title-3\">Minimieren und optimieren Sie Ihren Code<\/h3><p class=\"wp-block-paragraph\">Wenn Sie WordPress-Themes von Grund auf entwickeln, sollten Sie auf sauberen Code und m&ouml;glichst kleine Dateien achten. Dadurch k&ouml;nnen Browser Ihr Theme schneller darstellen, was die Ladegeschwindigkeit Ihrer Website verbessert.<\/p><p class=\"wp-block-paragraph\">Um die Ladezeiten weiter zu verk&uuml;rzen, k&ouml;nnen Sie Tools wie <a data-click-id=\"hgr-post-content-link-minifier\" href=\"https:\/\/www.hostinger.com\/de\/tutorials\/wordpress-child-theme-erstellen\/\">Minifier<\/a> verwenden, um die Gr&ouml;&szlig;e Ihrer PHP-, CSS- und JavaScript-Dateien zu reduzieren. Bei der Minifizierung werden &uuml;berfl&uuml;ssige Zeichen wie Leerzeichen entfernt, die keinen Einfluss auf die Funktionalit&auml;t des Codes haben.<\/p><p class=\"wp-block-paragraph\">Bevor Sie Ihren Code minifizieren, sollten Sie eine Sicherungskopie der Originaldateien erstellen. Minifizierter Code ist h&auml;ufig schwerer lesbar, was die Fehlersuche und sp&auml;tere Wartungsarbeiten erschweren kann.<\/p><p class=\"wp-block-paragraph\">Erstellen Sie au&szlig;erdem <a data-click-id=\"hgr-post-content-link-child-themes\" href=\"\/de\/tutorials\/wordpress-child-theme-erstellen\/\">Child-Themes<\/a>. Damit k&ouml;nnen Sie einem bestehenden Theme neue Funktionen oder Gestaltungselemente hinzuf&uuml;gen, ohne die urspr&uuml;nglichen Template-Dateien zu ver&auml;ndern. So lassen sich Fehlkonfigurationen vermeiden und &Auml;nderungen leichter r&uuml;ckg&auml;ngig machen.<\/p><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-fazit\">Fazit<\/h2><p class=\"wp-block-paragraph\">Wenn Sie ein eigenes WordPress-Theme von Grund auf erstellen, l&auml;sst Ihre Website individueller gestalten. Au&szlig;erdem k&ouml;nnen Sie gezielte Funktionen integrieren, die Sie tats&auml;chlich ben&ouml;tigen. Das reduziert unn&ouml;tigen Code und kann die Ladegeschwindigkeit Ihrer Seiten verbessern.<\/p><p class=\"wp-block-paragraph\">In diesem Artikel haben wir erkl&auml;rt, wie Sie ein eigenes Theme f&uuml;r Ihre WordPress-Website entwickeln. Nachdem Sie eine Staging-Umgebung eingerichtet haben, gehen Sie in sechs Schritten vor:<\/p><ol start=\"1\" class=\"wp-block-list\">\n<li>Erstellen Sie <code>index.php<\/code>, <code>style.css<\/code> und die weiteren Template-Dateien im Theme-Ordner Ihrer Staging-Umgebung innerhalb des WordPress-Verzeichnisses <code>themes<\/code>.<\/li>\n\n\n\n<li>Richten Sie das erste CSS-Stylesheet ein, indem Sie die Angaben zum Theme-Entwickler und die Hintergrundfarbe erg&auml;nzen.<\/li>\n\n\n\n<li>Machen Sie Ihr WordPress-Theme funktionsf&auml;hig, indem Sie &uuml;ber <code>functions.php<\/code> und <code>sidebar.php<\/code> eine Seitenleiste einrichten.<\/li>\n\n\n\n<li>Erstellen Sie das Layout Ihres WordPress-Themes, indem Sie <code>index.php<\/code> und die weiteren Template-Dateien mithilfe von HTML-Tags in Bereiche unterteilen.<\/li>\n\n\n\n<li>Verbessern Sie die Gestaltung Ihres Themes, indem Sie im Stylesheet CSS-Regeln f&uuml;r die einzelnen Klassen erg&auml;nzen.<\/li>\n\n\n\n<li>Testen Sie Ihr eigenes Theme in der Staging-Umgebung und &uuml;bertragen Sie die Dateien nach Abschluss der Entwicklung auf Ihre Live-Website.<\/li>\n<\/ol><p class=\"wp-block-paragraph\">Achten Sie auf responsives Design, damit Ihr WordPress-Theme auf unterschiedlichen Bildschirmgr&ouml;&szlig;en korrekt dargestellt wird. Konfigurieren Sie au&szlig;erdem die Template-Tags, WordPress-Loops und Action-Hooks sorgf&auml;ltig, um die Kompatibilit&auml;t mit anderen Softwarekomponenten des CMS zu gew&auml;hrleisten.<\/p><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-haufig-gestellte-fragen-faq-zur-erstellung-eines-wordpress-themes\">H&auml;ufig gestellte Fragen (FAQ) zur Erstellung eines WordPress-Themes<\/h2><p class=\"wp-block-paragraph\">Im Folgenden beantworten wir einige h&auml;ufig gestellte Fragen rund um die Erstellung eines eigenen WordPress-Themes.<\/p><div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1792750080113\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Ist es schwierig, ein eigenes WordPress-Theme zu erstellen?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Das h&auml;ngt davon ab, wie komplex Ihr Theme sein soll. F&uuml;r ein einfaches WordPress-Theme ben&ouml;tigen Sie mindestens zwei Dateien sowie HTML-, CSS- und PHP-Code. Ein Theme mit umfangreichen Funktionen ist aufwendiger, da zus&auml;tzlicher Code und weitere Programmiersprachen erforderlich sein k&ouml;nnen. Um die Entwicklung zu vereinfachen, k&ouml;nnen Sie die Grundstruktur eines bestehenden WordPress-Themes verwenden, statt den gesamten Code selbst zu schreiben.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1792750081418\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Kann man mit WordPress-Themes Geld verdienen?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Ja, Sie k&ouml;nnen Ihre eigenen Themes auf verschiedenen Marktpl&auml;tzen der WordPress-Community verkaufen, beispielsweise auf <a data-click-id=\"hgr-post-content-link-themeforest\" href=\"https:\/\/themeforest.net\/\" target=\"_blank\" rel=\"noopener\">ThemeForest<\/a> und <a data-click-id=\"hgr-post-content-link-codecanyon\" href=\"https:\/\/codecanyon.net\/\" target=\"_blank\" rel=\"noopener\">CodeCanyon<\/a>. Entwickler von Premium-Themes verkaufen ihre Produkte im Durchschnitt f&uuml;r rund <a data-click-id=\"hgr-post-content-link-55-e-pro-lizenz\" href=\"https:\/\/www.codeinwp.com\/blog\/wordpress-theme-cost-analysis\/\" target=\"_blank\" rel=\"noopener\">55 &euro; pro Lizenz<\/a>.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1792750082221\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Wie lange dauert es, ein WordPress-Theme zu erstellen?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Je nach Komplexit&auml;t und Funktionsumfang dauert die Entwicklung etwa zwei Wochen oder l&auml;nger. Als Anf&auml;nger ben&ouml;tigen Sie m&ouml;glicherweise mehr Zeit, da Sie sich w&auml;hrend der Erstellung zugleich mit den Grundlagen der Webentwicklung vertraut machen m&uuml;ssen.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Erstellen Sie ein eigenes WordPress-Theme in 6 Schritten. Lernen Sie, Template-Dateien anzulegen, ein CSS-Stylesheet einzurichten und mehr. [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/de\/tutorials\/wordpress-theme-erstellen\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":612,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"WordPress-Theme erstellen: Anleitung in 6 Schritten","rank_math_description":"Erstellen Sie ein eigenes WordPress-Theme in 6 Schritten. Lernen Sie, Template-Dateien anzulegen, ein CSS-Stylesheet einzurichten und mehr.","rank_math_focus_keyword":"wordpress theme erstellen","footnotes":""},"categories":[58],"tags":[],"class_list":["post-15864","post","type-post","status-publish","format-standard","hentry","category-wordpress"],"hreflangs":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/posts\/15864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/users\/612"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/comments?post=15864"}],"version-history":[{"count":5,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/posts\/15864\/revisions"}],"predecessor-version":[{"id":16123,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/posts\/15864\/revisions\/16123"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/media?parent=15864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/categories?post=15864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/tags?post=15864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}