it-swarm.com.de

Untergeordnetes Thema vs. doppeltes Thema umbenannt

Okay, ich sehe ziemlich oft Leute, die über untergeordnete Themen und die Gründe für ihre Verwendung sprechen, anstatt das vorhandene Thema zu ändern, aber alle scheinen sich auf die Idee zu konzentrieren, dass alle Änderungen verloren gehen, wenn das übergeordnete Thema aktualisiert wird. Wenn ich in der Vergangenheit Websites erstellt habe, habe ich immer ein Duplikat des Startthemas erstellt, den Namen des Themas in style.css geändert und direkt dort gearbeitet. Es scheint mir, dass die Verwendung eines einzelnen Themas anstelle eines untergeordneten Themas Overhead spart und eine bessere Kontrolle über den Code ermöglicht - zum Beispiel unnötige Funktionen werden entfernt, anstatt sie zu umgehen. Wenn ich auf Probleme stoße, muss ich immer auf die Original-Designdateien verweisen. Wenn das übergeordnete Design aktualisiert wird, kann mein untergeordnetes Design trotzdem beschädigt werden, wenn sich Funktionsnamen und dergleichen ändern. Daher sehe ich dies nicht als echten Vorteil an.

Meine Websuchen sind zu diesem Thema nur selten aufgetaucht, außer "Entwicklervorlieben", was eigentlich kein Grund ist.

Gibt es echte Vorteile bei der Verwendung eines untergeordneten Themas gegenüber dem Duplizieren und Umbenennen des Themas?

6
SickHippie

Untergeordnete Designs sind nützlich für Benutzer, die hauptsächlich Stiländerungen an ihrem Design vornehmen möchten, aber den zugrunde liegenden Code nicht beibehalten möchten oder können. Grokking PHP/WordPress Theme Development ist eine ganz andere Sache als Grokking CSS.

Untergeordnete Themen sind auch nützlich für Benutzer, die kleinere funktionale Änderungen an ihrem Thema vornehmen möchten. Dies ist besonders nützlich für Themes, die viele Möglichkeiten zur Änderung bieten: Aktions-/Filter-Hooks, steckbare Funktionen usw. Zugegeben, solche Mods könnten genauso einfach über ein benutzerdefiniertes Plugin implementiert werden, aber ein solches Plugin wäre nur dann anwendbar, wenn das richtige Theme vorhanden ist ist aktiv, daher ist es genauso sinnvoll, diesen Code in ein untergeordnetes Design einzufügen.

Wenn Sie mit der Pflege eines gegabelten Themas vertraut sind und feststellen, dass Ihre Änderungen die für ein untergeordnetes Thema angemessenen Werte überschreiten, sollten Sie auf jeden Fall das Thema gabelen.

Es läuft alles auf die Methode hinaus, die für den einzelnen Endbenutzer am vorteilhaftesten ist.

10
Chip Bennett

Neben Chip Bennets Antwort

Einige Entwickler wie ich haben ihre eigenen benutzerdefinierten Frameworks oder verwenden ein Framework wie Genesis, Hybrid usw. Diese Frameworks bündeln nicht zu viel Stil, sondern bieten mehr Funktionalität wie ihre eigenen Templating- und Hooking-Mechanismen. Manchmal auch Dinge wie CPT- oder CT-Basisklassen, Meta-Box-Bibliotheken, CSS-Frameworks usw. Oft ist es einfacher, Ihren gesamten Code in separaten Repos zu verwalten, sie in einem "Theme" zu bündeln und diese Teile dann einfach in Ihrem untergeordneten Theme zu verwenden.

In meinem Fall hat mein Framework/Bibliothek/übergeordnetes Thema nichts als den Lademechanismus für meine Bibliotheksteile, meine Hooks und Tempalting und eine Bootstrap-Funktion. In einem untergeordneten Thema kann ich dann einfach definieren, was ich für eine bestimmte Aufgabe benötige, einzelne Aufgabenmodule hinzufügen oder übergeordnete Basisklassen erweitern. Last but not least: Das untergeordnete Thema enthält alle meine UI-Teile: Stile, Skripte, Bilder.

Für mich und viele andere Entwickler ist dies nur eine gute Möglichkeit, die Dinge zu verallgemeinern, zu organisieren und wiederverwendbar zu machen.

6
kaiser

Eine der häufigsten Anwendungen für untergeordnete Themen sind MUWP-Instanzen. Bei einer Installation mit mehreren Sites teilen sich die zugehörigen Sites häufig einen Teil oder den größten Teil des Themas, müssen jedoch möglicherweise über benutzerdefinierte Seitenlayouts oder Elementstile verfügen. In diesem Fall ist es sehr sinnvoll, untergeordnete Themen zu verwenden. Elemente, die gleich sind, werden im übergeordneten Design angesprochen (das gemäß Ihrer Hypothese tatsächlich ein benutzerdefiniertes Design sein kann, das auf einem duplizierten Standarddesign basiert). Elemente, die sich unterscheiden müssen, werden im untergeordneten Design angesprochen.

Das Schöne an Kinderthemen ist, dass die einzigen Unterschiede zwischen Kinderthema und Elternthema deutlich im Kinderthema selbst erkennbar sind. Möchten Sie wissen, was sich zwischen einem Eltern- und einem Kinderthema unterscheidet? Das Kinderthema selbst ist die Summe dieser Unterschiede. Müssen Sie etwas am untergeordneten Thema ändern? Sie müssen nur ein paar Regeln und Funktionen durchsehen, anstatt den Code für das gesamte Thema durchzugehen.

5
heathenJesus