没有add_action和动作钩子名称的wordpress do_action

时间:2018-04-04 17:26:11

标签: wordpress wordpress-hook

我有点理解add_action然后do_action。例如

function mywork()
{
    echo "display my work";
}
add_action('mytag','mywork',10);
do_action('mytag');

这将呈现"显示我的作品";

但仅仅是do_action怎么样。 例如

function customfunction()
    {
        echo "custom";
    }
do_action('customfunction');

什么都没有呈现。 我还发现了一些wordpress api钩子的名字。例如" login_form"

do_action(login_form);

但什么都没发生。

1 个答案:

答案 0 :(得分:1)

当您编写do_action("actionName");时,您正在创建一个钩子,因此您可以编写将在此处从外部源执行的代码。

因此,您可以编写do_action("actionName"),但由于您在调用此do_action()时未添加要执行的代码,因此无法执行任何操作。

当你写add_action("actioName","functionName",parameters)时,你告诉WordPress:" 嘿,每当你打电话给do_action("actionNAme")时,执行functionName &# 34;

<强>更新

回答此评论: &#34;但我可以do_action没有任何add_action第一个或回调函数吗?&#34;。

答案是否定的,你不能。你已经创建了钩子,但是你需要在某处附加代码或它什么也不做,这就像一个事件,你告诉do_action:&#34; 嘿,这发生了&#34 ;.使用add_action,您知道何时发生该功能。