两者之间的区别add_action()
和add_filter()
语义不是技术性的,除非过滤器需要返回值,而操作需要/不需要返回值。问题是contact_form_send_email()
needs 被调用/连接到init
.
如果没有,则可以使用在模板中定义筛选器apply_filters()
, 然后钩住它来运行函数并向其返回一个值。
在模板页面中:
$some_variable = \'some value\';
$some_variable = apply_filters(\'my_filter_hook\', $some_variable);
在函数中。php
add_filter(\'my_filter_hook\', \'contact_form_send_email\', 10, 1 );
function contact_form_send_email( $some_variable ) {
//do stuff
$some_variable = \'some new value\';
return $some_variable;
}
为了帮助您确定需要挂接的位置
Actions Reference 可能很有用。向下滚动,您还会看到一些特定于模板的挂钩。