Vlastní HTML, CSS a JS kód v hlavičce, těle i patičce WordPressu
Code Snippets umožní vložit vlastní HTML, CSS nebo JS kód na tři místa — do <head>, hned za otevření <body> a do patičky — bez úpravy souborů šablony. Modul kód záměrně nijak nefiltruje, takže projdou i skripty pro analytiku, tracking pixely nebo vložené widgety třetích stran.
Hlavní funkce
- Tři samostatná pole: hlavička (<head>), začátek <body>, patička
- Vkládání do <body> jede přes hook wp_body_open, se záložním řešením pro šablony, které ho nevolají
- Kód se neprochází přes wp_kses — záměrně, aby prošly i <script> tagy pro analytiku a tracking
- Uložení vyžaduje oprávnění manage_options i schopnost unfiltered_html současně
- Modul nejde delegovat na roli Editor — záměrně, kvůli riziku uložení škodlivého skriptu
- Žádná databázová tabulka navíc, kód se ukládá jako běžné nastavení pluginu
Jak to funguje
Kód z pole hlavičky se vypíše na hooku wp_head, kód z pole těla přes wp_body_open — a pro šablony, které tenhle relativně nový hook nevolají, modul přidá záložní výpis blízko konce stránky, aby se skript spustil i tak. Patička se vypisuje na wp_footer.
Uložení nastavení je záměrně podmíněné dvěma capability naráz — manage_options i unfiltered_html — protože modul obsah polí neprochází přes wp_kses jako zbytek pluginu. Právě proto, že by mohl uložit libovolný <script>, je vyloučený z funkce delegace modulů na roli Editor, aby nešlo obejít administrátorská oprávnění.
Alternativa k pluginům WPCode (dříve Insert Headers and Footers), Simple Custom CSS and JS nebo Header Footer Code Manager — nezaměňovat se stejnojmenným pluginem Code Snippets, což je jiný nástroj zaměřený na PHP snippety.