De câte ori pot folosi același hook de acțiune?
Hooks-urile din WordPress funcționează ca Hollywood: nu tu îi apelezi, ei te apelează pe tine. Dar spre deosebire de Hollywood, ei continuă să sune pe toată lumea de pe listă.
Este normal ca o acțiune sau un filtru să aibă multiple funcții atașate, din diferite plugin-uri, sau chiar din diferite funcții din nucleul WordPress care fac fiecare ceva specific. Nu numai că este posibil, dar chiar este o bună practică, deoarece codul tău devine mai clar (fiecare funcție face un singur lucru) și este mai ușor să dezactivezi o anumită funcționalitate prin deconectarea ei.
Ține minte că poți manipula și prioritățile hook-urilor: dacă vrei să rulezi atât functionA()
cât și functionB()
în after_setup_theme
, dar functionA()
trebuie să ruleze înaintea lui functionB()
, poți atașa functionA()
cu prioritatea implicită 10
și functionB()
cu prioritatea 20
(sau orice alt număr peste 10). Ceea ce nu va funcționa este atașarea unei alte funcții la o acțiune în timp ce acea acțiune se execută. Deci nu poți atașa functionB()
la after_setup_theme
din interiorul lui functionA()
, care este apelată de after_setup_theme
. Ai putea să o apelezi direct, dar ai pierde beneficiul hook-urilor separate.

Sugestia mea ar fi să aveți o funcție "principală", dacă doriți, care să apeleze toate celelalte funcții. În acest fel, trebuie să adăugați hook-ul la acea acțiune doar o singură dată.
add_action( 'after_setup_theme', 'master_function' );
function master_function()
{
func_a();
func_b();
func_c();
func_d();
func_e();
}
function func_a(){ /* Fă ceva */ }
function func_b(){ /* Fă ceva */ }
function func_c(){ /* Fă ceva */ }
function func_d(){ /* Fă ceva */ }
function func_e(){ /* Fă ceva */ }
Această abordare are avantajul suplimentar de a putea returna valori pe care le puteți utiliza în apelurile ulterioare de funcții.
