1

我有点理解 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);

但是什么也没发生。

4

1 回答 1

2

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

因此,您可以编写do_action("actionName"),但是由于在调用此方法时您没有添加要执行的代码,do_action()因此它什么也不做。

当你写信时,add_action("actioName","functionName",parameters)你是在告诉 WordPress:“嘿,每当你调用do_action("actionNAme"),执行functionName

更新

回答此评论:“但是我可以do_action不使用任何add_action第一个或回调函数吗?”。

答案是不,你不能。您已经创建了钩子,但是您需要在某个地方附加代码,否则它将什么也不做,这就像一个事件,do_action您在告诉:“嘿,这发生了”。add_action告诉您何时运行该功能。

于 2018-04-04T17:44:21.660 回答