Ligase 2.4.14 — tabbed settings persist + Article image fallback + scrubber rozszerzony
Trzy fixy z testów makumi.eu po 2.4.13.
1. Tabbed settings: zapis jednej zakładki zerował checkboxy w innych
Krytyczna regresja UX. Settings ma tabbed UI (Organizacja / Social / Local Business / Store / AI / Zachowanie). Każda renderuje TYLKO swoje sekcje, ale wszystkie dzielą jeden form. Submit z jednej tab'i wysyłał tylko swoje pola — sanitize() bezwarunkowo nadpisywał każdy znany checkbox → kasował te z innych tab'ów.
Fix dwuczęściowy:
render_checkbox()emituje hidden inputvalue=""PRZED każdym checkbox o tej samejname. PHP $_POST trzyma OSTATNIĄ wartość — checked →"1", unchecked →"", brak na tabie → klucz nie istnieje w $input.sanitize()używaarray_key_exists($key, $input)zamiast bezwarunkowego nadpisania.
Po wgraniu możesz wreszcie ustawiać checkboxy w różnych zakładkach bez wymazywania.
2. Article: brakujące pole image dla mniejszych obrazków
build_images() w BlogPosting wymagało featured image ≥ 1200×675px. Pod tym zwracało pustą tablicę → Article emitował się BEZ image. Google flag'ował "Brakujące pole image (opcjonalnie)".
Naprawione: dla 696-1199 emituje pojedynczy ImageObject z oryginalnym rozmiarem (zamiast pomijać). Pod 696px nadal nie emituje (Google's hard minimum dla rich results).
Aby pełne 3-ratio variants (16:9 + 4:3 + 1:1) zadziałały, featured image musi mieć ≥ 1200×675. Mniejsze dostają single ImageObject — wciąż lepsze niż brak.
3. Scrubber rozszerzony: dedup Article/Product/wszystkich typów
2.4.13 dedupował tylko BreadcrumbList. Drugi Article na "Techniki relaksacyjne..." pokazał że XStore wstrzykuje też Article inline.
Scrubber rozszerzony o: Article / BlogPosting / NewsArticle / WebPage / WebSite / Organization / Product / FAQPage / HowTo / Recipe. Każdy standalone JSON-LD z tymi typami poza Ligase'owym @graph = obca kopia → wycina.
Działa tylko w standalone_mode.
Po wgraniu na makumi.eu
- ZIP: https://github.com/MarcinZmuda/Ligase-Schema-Markup/releases/download/v2.4.14/ligase-2.4.14.zip
- Wgraj + zastąp
- Sprawdź czy Ustawienia → Zachowanie → "Tryb samodzielny (standalone)" jest ON — bez tego scrubber nie działa
- Zaznaczaj checkboxy w wielu zakładkach, Zapisz — powinny zostać
- Rich Results Test dla artykułu — powinno być 1 Article zamiast 2, z
imagefield