2016-08-28 87 views
0

我得到了一个插件(注册表单),它为开发人员提供了一些动作/钩子来添加他们自己的东西。该插件内的函数被调用这样的:如何挂钩wordpress中的函数

// Allow devs to hook in 
do_action('after_record_action', $result, $data, $format); 

我想这是$data阵列中存储的形式的数据。在访问者使用注册表格后,我想发送一封包含$data的邮件,使用wp_mail()

如何使用after_record_action执行以下脚本?我需要在我的functions.php中添加这个吗?

// get data from $data[] array 
$data['email'] = $email; 
$data['key'] = $key; 

// use $data to create a personalized mail 
$to = $email; 
$subject = "Wordpress Test"; 
$content = "Hi, this us your key:" . $key . "Enjoy using it!"; 

// send mail using wp_mail 
$status = wp_mail($to, $subject, $content); 

我很感谢这些组合的任何帮助,因为我不太经验使用PHP。

回答

2

添加以下代码到你的当前活动主题的functions.php文件:

add_action('after_record_action', 'marian_rick_custom_action', 10, 3); 
function marian_rick_custom_action ($result, $data, $format){ 
// get data from $data[] array 
$email = $data['email']; 
$key = $data['key']; 

// use $data to create a personalized mail 
$to = $email; 
$subject = "Wordpress Test"; 
$content = "Hi, this us your key:" . $key . "Enjoy using it!"; 

// send mail using wp_mail 
$status = wp_mail($to, $subject, $content); 
} 

如果你有兴趣,这一切是如何真正起作用的,检查的官方文档here

+0

不会对OP需要设置'add_action()'的'accepted_args'参数以获得传递给'marian_rick_custom_action'函数的所有3个参数? – Hobo

+0

@Hobo你是对的,我只是添加它。 –

+1

谢谢。现在我可以upvote;) – Hobo