Hoppa till innehåll

WordPress hooks: actions och filters förklarade

Grunden du måste förstå

Hooks är mekanismen som gör WordPress utbyggbart utan att ändra kärnkoden. Förstår du actions och filters förstår du hur WordPress fungerar under huven, och du kan anpassa i princip vad som helst.

Actions

En action är en punkt i koden där WordPress säger "nu händer det här, vill någon göra något?". wp_head körs i <head>-taggen. wp_footer körs precis innan </body>. init körs vid initiering. save_post körs när ett inlägg sparas.

Du hänger på din egen funktion med add_action('wp_head', 'min_funktion'). Funktionen körs automatiskt vid rätt tillfälle. Inget returvärde behövs.

Filters

Ett filter modifierar data. the_content filtrerar innehållet i ett inlägg innan det visas. the_title filtrerar titeln. upload_mimes bestämmer vilka filtyper som får laddas upp.

Skillnaden mot actions: filters måste alltid returnera data. Din funktion tar emot värdet, gör sin grej och returnerar det modifierade resultatet. Glömmer du return skriver du ut NULL, och saker går sönder.

Prioritet och argument

Tredje parametern i add_action och add_filter är prioritet. Default 10. Lägre nummer körs tidigare. Fjärde parametern anger antal argument din funktion accepterar (default 1).

Prioritet spelar roll när flera funktioner hänger på samma hook. Om du vill att din filter körs efter Yoast SEO:s filter, sätt prioritet 20 eller högre.

Hitta rätt hook

WordPress Codex och Developer Reference listar hooks, men det enklaste sättet att hitta exakt vilka hooks som körs är att använda Query Monitor-pluginet. Det visar alla actions och filters som exekveras på varje sida.

Att läsa andras plugin-kod blir avsevärt lättare när du förstår hooks. Det är entry-pointen till seriös WordPress-utveckling.

Rengöra en hackad WordPress-sajt: steg för steg
Det har hänt. Vad gör du nu?