Admin notices

Trvalé potlačení hlášek (admin notices) v administraci WordPressu

Admin notices zachytí všechny hlášky, které se v administraci zobrazí, ukáže jejich přehled a u každé necháš na výběr, jestli ji chceš natrvalo potlačit. Ideální na weby, kde desítky aktivních pluginů zaplevelují dashboard nabídkami na upgrade nebo hodnocení.

Hlavní funkce

  • Zachytává notices přes output buffering — funguje i na hláškách bez vlastního filtru
  • Přehled zachycených hlášek s náhledem textu (bezpečně jako plain text, ne HTML)
  • Potlačení jedním kliknutím, zůstává trvale uložené v samostatné DB volbě
  • Signatura hlášky je normalizovaná (bez čísel verzí/nonců), takže po update pluginu obvykle zůstane skrytá
  • Ukládá se do non-autoloaded options — neroste velikost hlavního nastavení

Jak to funguje

Protože WordPress nemá čistou API pro odstranění notice zaregistrované anonymní funkcí, modul hookuje `admin_notices`/`all_admin_notices` dvakrát: na velmi nízké prioritě spustí `ob_start()`, na velmi vysoké prioritě zachycený výstup převezme přes `ob_get_clean()`.

Zachycený HTML se rozdělí na jednotlivé `<div class="notice...">` bloky ručním počítáním párových tagů (ne regexem s `.*?`, který by se zlomil na vnořených divech), z každého bloku se vypočítá normalizovaná signatura a podle ní se rozhoduje o potlačení.

Časté dotazy

Skryje se hláška i po aktualizaci pluginu?
Ve většině případů ano — signatura hlášky ignoruje čísla verzí a nonce hodnoty, takže zůstává stejná i po update.
Vidím v přehledu i nebezpečné HTML z pluginu?
Ne — náhled textu se vykresluje bezpečně jako plain text (escapovaný), nikdy se znovu nerenderuje jako HTML.
Zabírá to hodně místa v databázi?
Potlačené hlášky se ukládají do samostatné, non-autoloaded volby, takže se netahají zbytečně při každém načtení stránky.