Как переопределить существующее действие плагина новым действием


Я использую плагин. У него есть такое действие.

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

Я пишу модуль для этого плагина. Поэтому мне нужно переопределить эту старую функцию действия моей новой функцией действия.

Это моя новая функция.

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

Я хочу заменить эту функцию old_action своей функцией new_action с помощью крючков. Кто-нибудь может мне помочь?

Спасибо

Author: PrivateUser, 2012-01-28

1 answers

Вы можете использовать функцию remove_action(), например:

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

Важно отметить, что если old_action был добавлен с параметром приоритета, вы должны добавить его в вызов remove_action, иначе он не сможет удалить его. Есть и другие последствия, если old_action был добавлен в класс. Смотрите здесь для получения дополнительной информации.

 36
Author: Tomas Buteler, 2012-01-28 07:13:34