这个do_action()
函数执行已挂接的任何代码add_action()
. 你function_save_custom_form_data()
函数运行是因为WP Forms插件添加了对do_action()
在其代码内。
那么使用什么do_action()
在一个主题或插件中,允许其他插件或主题在其进程中运行代码。在您的示例中,只要表单处理完成,WP Forms插件就会运行do_action( \'wpforms_process_complete\' )
. 它本身不做任何事情,但它允许您使用add_action()
要在该点运行代码,请使用add_action()
.
同样在示例中,do\\u操作传递了更多参数。add\\u action函数只有一个,但我可以像访问数组一样轻松地访问它?
在回调函数中,您正在访问$this->fields
像$params
(所以它不是一个合适的名称),它恰好是一个数组。您没有任何访问权限$entry
, $form_data
或$entry_id
. 要访问这些,需要将接受的参数数传递给add_action
. 例如,这允许您访问所有4个参数:
add_action( \'wpforms_process_complete\', \'function_save_custom_form_data\', 10, 4 );
最后一个参数是“accepted args”值。通过将其设置为4,您可以让WordPress知道您的
function_save_custom_form_data()
函数接受4个参数,现在可以这样使用:
function function_save_custom_form_data( $fields, $entry, $form_data, $entry_id ) {
在引擎盖下你要去的第二个区域
add_action()
是一个
callback, 和
do_action()
只是执行回调。