Come sovrascrivere un'azione esistente di un plugin con una nuova azione
Sto utilizzando un plugin. Ha un'azione come questa.
add_action('publish_post', 'old_action');
function old_action($pid) {
"il codice va qui"
}
}
Sto scrivendo un modulo per questo plugin. Quindi ho bisogno di sovrascrivere quella vecchia funzione di azione con la mia nuova funzione di azione.
Questa è la mia nuova funzione.
function new_action($pid) {
"il codice va qui"
}
}
Voglio sostituire quella funzione old_action con la mia funzione new_action utilizzando gli hooks. Qualcuno può aiutarmi?
Grazie

Puoi utilizzare la funzione remove_action()
in questo modo:
remove_action('publish_post', 'old_action');
add_action('publish_post', 'new_action');
È importante notare che se l'old_action è stato aggiunto con un parametro di priorità, devi specificarlo anche nella chiamata a remove_action
, altrimenti non verrà rimosso correttamente. Ci sono altre implicazioni se l'old_action è stato aggiunto all'interno di una classe. Vedi qui per maggiori informazioni.

+1 con la precisazione che l'azione remove deve essere chiamata dopo che la funzione che rimuove è stata aggiunta.

'after_setup_theme' sembra un buon posto per remove_action. Vedi: http://wordpress.stackexchange.com/questions/170663/remove-action-on-after-setup-theme-not-working-from-child-theme
