Como substituir a ação do plug-in existente por uma nova ação

14

Estou usando um plug-in. Tem uma ação como essa.

add_action('publish_post', 'old_action');
function old_action($pid) {
    "code goes here"
    }
}

Estou escrevendo um módulo para este plugin. Então, preciso substituir essa função de ação antiga pela minha nova função de ação.

Esta é minha nova função.

function new_action($pid) {
      "code goes here"
        }
    }

Eu quero substituir essa função old_action pela minha função new_action usando ganchos. Alguém pode me ajudar?

Obrigado

    
por Giri 28.01.2012 / 07:35

1 resposta

27

Você pode usar a função remove_action() , assim:

remove_action('publish_post', 'old_action');
add_action('publish_post', 'new_action');

É importante observar que, se o old_action tiver sido adicionado com um parâmetro priority, você deverá adicioná-lo à chamada remove_action , caso contrário, ele não será removido. Existem outras implicações se o old_action foi adicionado em uma classe. Consulte aqui para obter mais informações.

    
por Tomas Buteler 28.01.2012 / 08:13