web-dev-qa-db-ja.com

既存のプラグインアクションを新しいアクションで上書きする方法

私はプラグインを使っています。こんなアクションがあります。

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

私はこのプラグイン用のモジュールを書いています。だから私は私の新しいアクション関数でその古いアクション関数を上書きする必要があります。

これが私の新機能です。

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

フックを使用して、そのold_action関数を自分のnew_action関数に置き換えたい誰かが私を手伝ってくれる?

ありがとう

17
Giri

このようにremove_action()関数を使うことができます:

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

Old_actionにpriorityパラメータを付けて追加した場合は、それをremove_action呼び出しに追加する必要があります。そうしないと削除できません。 old_actionがクラス内に追加された場合、他の影響があります。詳細については ここ を参照してください。

30
Tomas Buteler