完整的答案会有点复杂,因为应该深入分析“插件A”和“插件B”,所以请检查可用的挂钩和过滤器,但如果我知道您编写了自己的插件,那么您可以完全控制它。也就是说,从CF7获取提交数据的起点如下:
add_action("wpcf7_submit", "Stack_308450_forward_cf7", 10, 2);
function Stack_308450_forward_cf7($form, $result) {
// var_dump($submission->status);
$submission = WPCF7_Submission::get_instance();
if ($result["status"] == "mail_sent") {
$posted_data = $submission->get_posted_data();
Stack_308450_wpcf7_posted_data($posted_data);
}
};
function Stack_308450_wpcf7_posted_data($posted_data){
//do something here
}
我个人在CF7提交上实现了一些功能:在这种情况下,我们正在处理邮件发送后的数据,因此如果您找到了更合适的挂钩,如“wpcf7\\u before\\u send\\u mail”,您应该标记自己:
function action_wpcf7_before_send_mail( $contact_form ) {
// var_dump($contact_form);
};
add_action( \'wpcf7_before_send_mail\', \'action_wpcf7_before_send_mail\', 10, 1 );
还应考虑与提交验证相关的问题,这些问题也涉及此过程。
下面是List of available CF7 hooks»