什么是 add_action('init')?

14
我们为什么要在 WordPress 中使用这种东西?有人可以解释一下吗?我们为什么要在 WordPress 函数中使用 init?或者说,什么是 init

1
@Rikesh,你为什么关闭了这个问题? - abu abu
2个回答

24

使用add_action而非在WordPress中硬编码函数。使用add_action的好处是可以让核心WordPress函数跟踪已添加的内容,从而可以通过稍后取消注册来覆盖先前添加的函数。

例如:

您下载了一个定义了名称为的插件动作/方法

add_action( 'init', 'crappy_method' );
你需要覆盖掉那个糟糕的函数,用你自己的函数代替它:
remove_action('init', 'crappy_method' );
add_action( 'init', 'my_even_crappier_method' );

通过这样做,您可以复制原始方法并进行自定义,而不会更改原始文件。这对于插件非常有用,因此您可以在更新插件时保留更改。


14

用法:add_action( $hook, $function_to_add, $priority, $accepted_args );

参数: $hook (string) (必填) $function_to_add被挂钩的动作名称。也可以是主题或插件文件中的动作名称,或者是特殊标记“all”,在这种情况下,该函数将为所有挂钩调用。 默认值:无

INIT HOOK: WordPress完成加载但在发送任何标题之前运行。有助于拦截$_GET或$_POST触发器。

例如,要对$_POST数据进行操作:

add_action('init', 'process_post');
function process_post(){
if(isset($_POST['unique_hidden_field'])) {
 // process $_POST data here
}
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,