是否可以在addaction()中使用do_action()创建一个action钩子?

时间:2013-11-13 作者:Michael Ecklund

是否可以创建一个新的动作挂钩,如do_action(\'my-hook-name\'); 在电话里add_action();?

我知道这个代码不起作用,但我在想一些关于。。。add_action(\'init\', do_action(\'my-hook-name\'));

是向init, 然后在回调函数中创建钩子?

add_action(\'init\', \'my_callback\');
function my_callback(){
    do_action(\'my-hook-name\');
}

1 个回复
最合适的回答,由SO网友:Michael Ecklund 整理而成

通过对以下原始问题的评论,根据回复创建答案:Is it possible to create an action hook using do_action() within add_action()?

是的,可以使用do_action() 打电话给add_action().

为了澄清,以下代码NOT 工作:

add_action(\'init\', do_action(\'my-hook-name\'));

如所述@IvanHanák 在对原问题的评论中提出;可以使用do_action() 打电话给add_action() 通过使用anonymous functions.

使用创建动作挂钩的示例do_action() 打电话给add_action() 使用匿名函数:

add_action(\'some-existing-hook-name\', function(){do_action(\'my-new-hook-name\');});

然而,应该注意的是,使用匿名函数可能会使调试或删除挂钩变得困难。

结束

相关推荐

为什么Apply_Filters在循环内部和外部的行为不同?

What I want: 通过创建$query = new WP_Query($args);Why: 以json格式返回特定内容,作为一种API请求,准备在另一个站点上显示What I tried first:foreach($query->posts as $post) { $post->post_content = apply_filters(\'the_content\', $post->post_content); }; 这执行了autop 和do