我想知道是否有可能将CF7表单提交数据发送到插件以使用API处理支付。
工作流程如下,
用户在前端填写表单(CF7表单) -->在邮件发送之前->将数据传递给插件(插件A) ->插件A获取数据并处理支付(使用提交的支付信息)->将数据返回给functions.php --> Submit返回数据给另一个插件(插件B) -->插件B,然后将数据存储在数据库中-->返回真实->邮件(通过CF7发送)
我看过钩子,但我不确定它们是否那样起作用。
我已经构建了插件,以便它与支付网关工作,但我无法找到一种方法,实际传递数据从CF7表单提交到插件。
进一步资料
我使用OOP方法构建了插件。
发布于 2018-07-13 13:49:08
一个完整的答案会有点复杂,因为“插件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_before_send_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 ); 还审议也涉及到这一进程的关于提交的审定问题。
下面是一个可用CF7钩子列表
https://wordpress.stackexchange.com/questions/308450
复制相似问题