Skip to content

Ligase 2.4.3 — bulk schema flags + Narzędzia menu cleanup

Choose a tag to compare

@MarcinZmuda MarcinZmuda released this 31 May 20:04
· 50 commits to main since this release

Co usunięto

"Narzędzia" submenu z menu Ligase. Strona była zepsuta (niekompletne akcje, brak jasnego use case). Jej funkcje przeniesione tam gdzie pasują:

  • masowe operacje → Posty (nowy panel)
  • czyszczenie cache + import/export → Ustawienia

Plik tools.php zostaje na dysku dla back-compat, ale nie jest już linkowany.

Co dodano — Masowe ustawianie znaczników schema

Ligase → Posty → "⚡ Masowe ustawianie znaczników schema" (rozwijany panel)

Filtry zakresu

  • Typ wpisu — dropdown ze wszystkimi publicznymi CPT (post / page / product / job_listing / własne CPT)
  • Termin (opcjonalnie) — wpisz slug kategorii/tagu/term. Walka przez wszystkie taksonomie dla danego CPT.

16 znaczników schema

Zaznacz które chcesz włączyć/wyłączyć:

  • Service, FAQPage, HowTo, Review
  • QAPage, Product, Recipe, JobPosting
  • DiscussionForumPosting, Course, Event, SoftwareApplication
  • DefinedTerm, ClaimReview, ProfilePage, Paywall

Wariant Article (dla post)

Masowo ustaw BlogPosting / Article / NewsArticle / TechArticle / LiveBlogPosting.

Akcja

  • ◯ Enable (=1) lub ◯ Disable (=0)
  • Preview button — najpierw pokaż ile pozycji bez ruszania niczego
  • Confirm dialog z listą zmian przed apply
  • Per-post cache invalidation po każdym update

Use case: kancelaria + strony usługowe

Scenariusz: Masz na kancelariasprawyrodzinne.pl 12 stron typu "Adwokat rozwód Warszawa", "Adwokat alimenty Warszawa" itd. w kategorii uslugi-warszawa. Chcesz dla wszystkich włączyć Service schema:

  1. Ligase → Posty → ⚡ Masowe ustawianie znaczników
  2. Typ wpisu: page
  3. Termin: uslugi-warszawa
  4. ☑ Service
  5. Akcja: Enable
  6. "Najpierw pokaż ile pozycji" → Znaleziono 12 pozycji typu "page" w terminie "uslugi-warszawa"
  7. "Zastosuj do pasujących wpisów" → potwierdzenie → ✅ Zaktualizowano 12 z 12 pozycji

Po tym każda z 12 stron ma Service toggle ON. Wchodzisz w pojedynczą stronę i wypełniasz Service section w metaboxie (areaServed, priceRange, serviceType) — albo zostawiasz domyślne.

Use case: blog + FAQ

Scenariusz: Top 50 wpisów blog do oznaczenia jako FAQ-eligible:

  1. Posty → Masowe ustawianie
  2. Typ: post, Termin: (puste lub np. pytania-i-odpowiedzi)
  3. ☑ FAQPage
  4. Enable → Apply

Potem dla każdego wpisu który realnie ma format pytanie-odpowiedź w treści, wchodzisz i wypełniasz pipe-repeater FAQ w metaboxie. Wpisy bez pytań pominiesz (flag jest, ale klasa FAQPage::build() i tak zwraca null gdy brak items — bezpieczne).

Security

  • Oba AJAX endpointy: manage_options gated.
  • Flag keys whitelist server-side (16 pól, nie przyjmie arbitralnego meta).
  • Variant whitelist (tylko 5 dozwolonych typów).
  • Post type sanitize_key, term slug sanitize_title.

Compatibility

Drop-in z 2.4.2. Bez migracji. Istniejące bulk-change schema_type działa dalej.