Files
WP-LIT-MCP/docs/guides/divi-placeholders.md
T
janniclas.loosenandClaude Opus 5.5 10c98cd3c6 docs: Divi guides shortform/placeholders, hints name the write tools; test: Divi write end-to-end; version 0.3.0
- Hints (PostPresenter::DIVI_NOTE, outline, catalog) and server instructions (tree_rev rule)
  name the Divi write tools; guides divi-shortform and divi-placeholders, additions to
  divi-structure, divi-attrs, overview (tool groups, 'nur lesen'), workflows, content-types.
- D7 wording and the S7 exception in readme, guides and spec 1.3/5.2; readme 0.3.0.
- ToolNamingTest: every referenced guide topic exists; overview lists exactly the topics.
- tests/Integration/divi-write-smoke.sh: all write tools via OAuth, editor without
  unfiltered_html with benign probes (S6), Divi's own save filters on the new fixture
  synthetic-divi-filters.html (S7); admin-render.php accepts the new wrap class.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-26 17:13:59 +02:00

2.6 KiB

Platzhalter für Divi-Inhalte

Platzhalter stehen allein im Wert (nicht mitten im Text) und werden beim Speichern in Divis eigene Verweise übersetzt. So bleibt die Seite mit dem Designsystem verbunden: ändert sich die Primärfarbe, ändert sich auch der Button.

Platzhalter Bedeutung
{{color:primary}}, secondary, heading, body, link die fünf Theme-Farben
{{color:<Name>}} eigene globale Farbe (Name wie in lit-divi-design-system)
{{var:<Name>}} globale Variable (Zahl, Text, Bild, Link)
{{font:heading}}, {{font:body}} Theme-Schrift für Überschriften bzw. Fließtext
{{post:title}}, excerpt, date, modified, author, url, featured_image, categories, tags dynamischer Inhalt des angezeigten Beitrags
{{field:<meta_key>}} dynamischer Inhalt aus einem Feld (Pods/Meta), z. B. {{field:telefon}}
"preset": "<Name>" Modul-Preset (kein Platzhalter, sondern eigenes Feld)

Beispiele:

{ "type": "button", "text": "Anrufen", "url": "{{field:telefon_link}}",
  "attrs": { "button.decoration.background": { "desktop": { "color": "{{color:primary}}" },
                                               "hover":   { "color": "{{color:Nachtblau}}" } } } }
{ "type": "heading", "text": "{{post:title}}", "level": "h1" }

Unbekannte Namen lehnt das Werkzeug ab und nennt die vorhandenen; ist ein Name doppelt vergeben, statt des Namens die ID aus lit-divi-design-system angeben (z. B. {{color:gcid-…}}). Felder, deren Schlüssel mit _ beginnt (geschützte Meta-Daten), sind nicht erlaubt.

In Link-Feldern (url, button_url …) nimmt das Werkzeug jeden dynamischen Inhalt an, auch {{post:title}}; sinnvoll sind dort nur Werte, die eine Adresse ergeben ({{post:url}}, ein Feld mit einer URL, eine Link-Variable).

$variable-Werte

In lit-divi-node-get erscheinen die übersetzten Verweise als $variable({…})$. Diese Werte unverändert lassen oder wieder durch einen Platzhalter ersetzen. $variable-Verweise werden geparst, geprüft und vom Plugin neu erzeugt: erlaubt sind nur ganze Werte mit bekannten Farben, Variablen, Schriften und dynamischen Quellen; Zusatztexte davor/danach (before/after) werden bereinigt; alles andere (z. B. ein Verweis mitten im Text, eigenes HTML-Ausgeben von Feldern) lehnt das Werkzeug mit validation_failed ab.

Unberührte Teile der Seite bleiben dabei byte-identisch. Ausnahme: Divi selbst normalisiert Seiten mit eigenen HTML-/Attribut-Feldern beim Speichern; die Antwort warnt dann, dass der Inhalt beim Speichern verändert wurde, und die neue tree_rev gilt.