Cómo sobrescribir una acción de plugin existente con una nueva acción
Estoy usando un plugin que tiene una acción como esta.
add_action('publish_post', 'old_action');
function old_action($pid) {
"código va aquí"
}
}
Estoy escribiendo un módulo para este plugin. Necesito sobrescribir esa función de acción antigua con mi nueva función de acción.
Esta es mi nueva función.
function new_action($pid) {
"código va aquí"
}
}
Quiero reemplazar esa función old_action con mi función new_action usando hooks. ¿Alguien puede ayudarme?
Gracias

Puedes usar la función remove_action()
, así:
remove_action('publish_post', 'old_action');
add_action('publish_post', 'new_action');
Es importante tener en cuenta que si old_action fue añadido con un parámetro de prioridad, debes incluirlo también en la llamada a remove_action
, de lo contrario no se eliminará correctamente. Hay otras implicaciones si old_action fue añadido dentro de una clase. Consulta aquí para más información.

+1 con la aclaración de que la acción remove debe llamarse después de que se haya añadido la función que está eliminando.

'after_setup_theme' parece un buen lugar para remove_action. Ver: http://wordpress.stackexchange.com/questions/170663/remove-action-on-after-setup-theme-not-working-from-child-theme
