Cum să suprascrii o acțiune existentă a unui plugin cu o nouă acțiune
Folosesc un plugin care are o acțiune precum aceasta.
add_action('publish_post', 'old_action');
function old_action($pid) {
"codul merge aici"
}
}
Scriu un modul pentru acest plugin. Așadar, trebuie să suprascriu acea funcție de acțiune veche cu noua mea funcție de acțiune.
Aceasta este noua mea funcție.
function new_action($pid) {
"codul merge aici"
}
}
Vreau să înlocuiesc acea funcție old_action cu funcția mea new_action folosind hook-uri. Mă poate ajuta cineva?
Mulțumesc

Puteți utiliza funcția remove_action()
, astfel:
remove_action('publish_post', 'old_action');
add_action('publish_post', 'new_action');
Este important de menționat că dacă old_action a fost adăugat cu un parametru de prioritate, trebuie să îl specificați și în apelul remove_action
, altfel nu va reuși să îl elimine. Există și alte implicații dacă old_action a fost adăugat într-o clasă. Consultați aici pentru mai multe informații.

+1 cu precizarea că acțiunea de eliminare trebuie apelată după ce funcția pe care o elimină a fost adăugată.

'after_setup_theme' pare un loc bun pentru remove_action. Vezi: http://wordpress.stackexchange.com/questions/170663/remove-action-on-after-setup-theme-not-working-from-child-theme
