chore: Version 0.7.0 (Etappe 4); Spec und Notizen nachgeführt
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5.5
parent
1fdcb2e075
commit
b91c356a28
@@ -215,6 +215,18 @@ In-Request-Caches: `GlobalData::$_cached_data` (Reset bei `set_*`), `GlobalPrese
|
||||
| ePanel | `edit_theme_options` + Rollen-Recht `theme_options` |
|
||||
| `remove_static_resources` | `edit_posts` (oder Cron), sonst wirkungslos |
|
||||
|
||||
## Nachtrag Divi 5.15.1 – Schleifen (Etappe 4e, 2026-10-20)
|
||||
|
||||
Ausführlich: `2026-10-19-etappe-4e-recherche-schleifen.md` (rekonstruiert, siehe dort); Pfade relativ zu `includes/builder-5/server/Packages/Module/Options/Loop/`.
|
||||
|
||||
1. **Speicherort:** Block-Attribut `module.advanced.loop`; Schalter `desktop.value.enable`, Art `desktop.value.queryType`. Divi liest beide mit `sanitize_key()`, fehlender `queryType` → `post_types` (`LoopUtils.php:725-732`).
|
||||
2. **`queryType`-Werte:** `post_types`, `current_page` (Beiträge), `post_taxonomies` (Terme; intern `terms`), `user_roles` (Benutzer), `menus`; Divi kennt außerdem die Aliase `terms` und `users` (`LoopUtils.php:881-898`) und `repeater_<ACF-Feld>`.
|
||||
3. **Kontextregel:** nächster Vorfahre-oder-selbst mit `desktop.value.enable === "on"`; Tablet/Phone/Hover und `true` zählen nicht; die innerste Schleife gilt.
|
||||
4. **`loop_*`-Optionen und Arten:** 34 Optionen in der Registry; Art nach Gruppe („Loop Terms“, „Loop Users“, übrige = Beiträge), die drei Meta-Schlüssel-Optionen nach Namen (Gruppennamen sind übersetzt); gespeichert wird der Array-Schlüssel.
|
||||
5. **Gefahr des Fehlabgleichs:** `loop_<post|user|term>_meta_key_*` liest Meta der Art aus dem Namen mit der **ID der Schleife** (`DynamicContentLoopOptions.php:145-158`): Post-Meta des Beitrags mit der Term-/Benutzer-ID. Bei verschachtelten Schleifen gibt eine leere innere Schleife den Block unverändert an die äußere (`LoopUtils.php:4449-4457`, `4572-4598`); darum prüft das Plugin Meta-Optionen gegen jede Schleife der Kette.
|
||||
6. **Rendern außerhalb einer Schleife:** `loop_*` hat keine Quelle und bleibt leer; das Plugin lehnt es beim Schreiben ab.
|
||||
7. **Grenzen:** Presets starten oder ändern Schleifen auf der Website nicht (Divi parst das rohe Dokument, `LoopUtils.php:4219-4229`); globale Module werden vor der Schleifen-Phase expandiert (`BlockParser.php:917-924`), das Plugin sieht ihren Inhalt nicht.
|
||||
|
||||
## 7. Abweichungen und Ergänzungen zu Spec §7
|
||||
|
||||
1. **„Variablen … über `GlobalData::set_global_variables`“** – stimmt, aber die Funktion ersetzt die ganze Option, liefert keinen Fehler bei fehlenden Rechten und kennt keinen Typ `colors`. Das Tool muss vorher lesen, `stdClass` → Array wandeln, `allowedActions` und die zwei Customizer-Schriften entfernen und nach dem Schreiben per Lesen prüfen.
|
||||
|
||||
Reference in New Issue
Block a user