【问题标题】:Contact form 7 hooks not working at all - New Version联系表格 7 挂钩根本不起作用 - 新版本
【发布时间】:2021-01-15 18:14:36
【问题描述】:

我正在尝试使用contact form 7 执行一些PHP 脚本,但没有一个钩子起作用。我正在使用新版本的 wordpress,联系表格插件。试过wpcf7_before_send_mailwpcf7_mail_sent

functions.php 文件中的示例代码:

add_action('wpcf7_before_send_mail','_wpcf7_mail_sent_function');
add_action( 'wpcf7_mail_sent', '_wpcf7_mail_sent_function'); 

function _wpcf7_mail_sent_function( $contact_form ) {
    $title = $contact_form->title;
    $submission = WPCF7_Submission::get_instance();  
    error_log("test");
    wp_mail('-----------@gmail.com', 'contact form 7', 'Hooks not working');
    print_r( $submission);
    
    die;
}

任何线索将不胜感激。

【问题讨论】:

  • 请检查此线程,然后再次检查两个钩子。 stackoverflow.com/questions/30533216/…
  • 已经检查过了,两个钩子都没有触发。
  • 那么一定要怀疑你的 wp_mail 功能,因为有时候邮件功能不工作。
  • @WordPressMechanic 邮件功能工作正常,同时我正在使用 wpcf7_before_send_mail 但这个钩子不能正常工作
  • 尝试将die 切换为return - 此外,您将无法在您的输出中使用print_r

标签: php wordpress contact-form-7


【解决方案1】:

试试这个。我把action hook的优先级改成了4,参数个数也改成了1。代码我也稍微改了一下,这样你就可以在var_dump中看到更多的数据了。

add_action('wpcf7_before_send_mail', '_wpcf7_mail_sent_function', 4, 1);

function _wpcf7_mail_sent_function( $contact_form ) {
    $title = $contact_form->title();
    $submission = WPCF7_Submission::get_instance();
    $postedData = $submission->get_posted_data();
    $formID = $contact_form->id();
    error_log("test");
    wp_mail('-----------@gmail.com', 'contact form 7', 'Hooks not working');
    var_dump($title, $submission, $postedData, $formID);
    
    die;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-04
    • 2017-01-23
    • 1970-01-01
    • 2013-08-06
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    相关资源
    最近更新 更多