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í.