Zum Inhalt

Module schalten

Der Funktionsumfang von TWtheme steckt in 50 Modulen. Geschaltet werden sie unter Theme → Module.

Was Abschalten bedeutet

Ein abgeschaltetes Modul wird nicht geladen: kein PHP, keine Blöcke, keine Optionsfelder. Es ist nicht nur ausgeblendet, sondern gar nicht vorhanden.

Daraus folgen drei Dinge, die man wissen sollte:

  • Ein Reiter in den Theme-Einstellungen verschwindet mitsamt seinen Feldern. Die gespeicherten Werte bleiben in der Datenbank und sind nach dem Wiedereinschalten unverändert da.
  • Ein Block aus dem Modul ist im Editor nicht mehr auffindbar. Inhalte, die ihn bereits verwenden, geben im Frontend nichts aus.
  • Ein Inhaltstyp aus dem Modul verschwindet aus dem Menü. Die Einträge bleiben in der Datenbank, sind aber nicht erreichbar.

Abschalten ist damit gefahrlos umkehrbar, solange keine Inhalte davon abhängen. Wo Inhalte betroffen sind, wird es sichtbar.

Die Seite

Die Seite Theme → Module mit den Gruppen Content und Navigation

Die Module sind nach Aufgabe gruppiert: Content, Navigation, Media, Gutenberg, Interaction, Performance, Consent, Integration, Marketing, WooCommerce, Site. Diese Gruppennamen sind auch in der deutschen Fassung englisch.

Jede Zeile zeigt drei Dinge:

Spalte Inhalt
Aktiv Der Schalter
Modul Name, technischer Slug, Beschreibung, und welche Blöcke das Modul mitbringt
Hinweis Voraussetzungen und Sperrgründe

Am Ende jeder Gruppe speichert Module speichern die Auswahl. Eine Suche gibt es nicht — die Gruppierung ersetzt sie.

Acht Module fehlen in der Liste

Gelistet sind 42 der 50 Module. Die übrigen acht sind als unverzichtbar markiert und deshalb gar nicht aufgeführt — es gibt für sie nichts zu entscheiden:

Modul Warum
general, website, system, utilities, integration tragen die Reiter der Theme-Optionen, an die andere Module ihre Felder hängen
info die Seite Theme → Info
layout-blocks, meta-blocks Grundbausteine, auf denen die Templates aufbauen

Gesperrte Schalter

Manche Schalter lassen sich nicht bewegen. Der Grund steht in der Spalte Hinweis.

Benötigt von: …
Ein anderes, aktives Modul braucht dieses. Der Schalter ist gesperrt, solange das abhängige Modul läuft. Um ihn freizugeben, schaltet man zuerst das abhängige Modul ab.
Benötigt: …
Das Modul braucht ein anderes. Schaltet man es ein, wird die Voraussetzung automatisch mitgeschaltet. Dieser Hinweis sperrt nicht.

Auf einer Installation mit den Standardmodulen sind genau zwei Schalter gesperrt: Loops & Filter und Modal, beide mit dem Hinweis Benötigt von: Search beziehungsweise Benötigt von: Modals, Search.

Die Abhängigkeiten

Modul braucht
Search Loops & Filter, Modal
Modals Modal
Megamenu Hyperlinks
Cookiebot, Google Maps, OpenStreetMap Integrations
Vacation Mode WooCommerce

Solange also Search läuft, bleiben Loops & Filter und Modal an und ihre Schalter sind gesperrt.

Module, die sich ausschließen

In zwei Gruppen darf nur ein Modul aktiv sein. Schaltet man das zweite ein, geht das erste aus.

Gruppe Module Warum
Einwilligung Complianz, Cookiebot Beide verwalten dieselben Einwilligungen und würden sich gegenseitig überschreiben
Karten Google Maps, OpenStreetMap Beide beanspruchen den Shortcode [map]

Diese Entscheidung fällt man einmal am Anfang eines Projekts. Ein Wechsel später bedeutet, die betroffenen Inhalte zu prüfen — vor allem bei den Karten, weil sich die Attribute unterscheiden.

Der Shortcode [map] ist zusätzlich abgesichert

Beide Kartenmodule registrieren [map] nur, wenn er noch frei ist. Selbst wenn beide Module gleichzeitig geladen würden, gäbe es keinen Konflikt. Die eindeutigen Aliasse [gmap] und [osm] sind davon nicht betroffen und immer zuverlässig.

Neu ausgelieferte Module

Fehlt ein Modul im gespeicherten Zustand, gilt der Standardwert aus seiner module.json. Ein Modul, das mit einem Update dazukommt, ist damit automatisch an, wenn es standardmäßig an ist.

Nach einem Update lohnt daher ein Blick auf die Seite: Es kann etwas dazugekommen sein, das das Projekt nicht braucht.

Welche Module standardmäßig an sind, steht in der Modul-Referenz.

Verwaltung durch einen TWhub

Die Modulauswahl kann auch von einem TWhub kommen. Dann steht oben auf der Seite ein blauer Hinweis:

Vom TWhub verwaltet. Aufgeführt sind nur die laufenden Module — die Auswahl trifft der Hub, und der nächste Abgleich überschreibt hier Geändertes. Löse die Website unten, um alle Module lokal zu sehen und zu verwalten.

In diesem Zustand zeigt die Seite nur die laufenden Module. Änderungen vor Ort hätten keinen Bestand, weil die nächste Übertragung aus dem Hub sie überschreibt.

Zurück zur lokalen Verwaltung

Die Schaltfläche Vom TWhub lösen löst die Seite vom Hub. Danach erscheint:

Diese Website verwaltet ihre Module jetzt lokal.

Ab dann zeigt die Seite wieder alle Module mit bedienbaren Schaltern. Der zuletzt übertragene Zustand bleibt erhalten — es wird nichts zurückgesetzt.

Das Theme braucht keinen Hub

Der Modulzustand steht in einer gewöhnlichen WordPress-Option auf der Seite selbst. Das Theme ruft nirgends nach Hause und prüft keine Lizenz. Es gibt keinen ausgehenden Request.

Ein Hub ist nur einer von drei möglichen Schreibern dieser Option, neben der Admin-Oberfläche und WP-CLI. Fällt er weg, bleibt alles wie es ist und die Seite ist voll bedienbar.

Über die Kommandozeile

wp option get twtheme_modules --format=json
wp eval 'twtheme_modules_apply_state(["slider" => false], "cli");'

Nicht mit update_option schreiben

Geschrieben werden darf der Zustand nur über twtheme_modules_apply_state(). Dort sitzen die Prüfung gegen die Modulliste und die Auflösung der Abhängigkeiten. Ein direktes update_option() umgeht beides und kann einen Zustand hinterlassen, in dem ein Modul läuft, dessen Voraussetzung fehlt.

Prüfen, was läuft

Die Seite Theme → Info listet alle Module mit ihrem Zustand auf, dazu die Versionen von Theme, WordPress, PHP und allen Plugins. Am Ende steht ein kopierfertiger Bericht für Supportanfragen — ohne Zugangsdaten und Datenbankdetails.

Siehe Info und Systemcheck.

Weiter