【问题标题】:Contact Form 7 in Wordpress - How can I hide empty fields in the e-mail?Wordpress 中的联系表格 7 - 如何隐藏电子邮件中的空白字段?
【发布时间】:2019-11-17 14:16:57
【问题描述】:

这个问题与我的问题相似,但这没有解决问题的答案 Contact Form 7 in Wordpress - How can I hide incompleted fields in the e-mail?

我只想从电子邮件中删除那些没有给出值的行

【问题讨论】:

    标签: wordpress email field contact-form contact-form-7


    【解决方案1】:

    如果您有一个表单,或者多个具有相似字段集的表单,您可以在联系表单设置中将Message body留空,并将此功能添加到functions.php中

    add_filter( 'wpcf7_mail_components', 'add_extra_details', 50, 2 );
    function add_extra_details($mail_params, $form = null) {
        $fields = $_POST;
        $keys_to_include = array(
            'your-name' => 'Name',
            'your-email' => 'Email',
            'your-subject' => 'Subject'
        );
    
        foreach ($fields as $k => $v) {
    
            if (array_key_exists($k, $keys_to_include)) {
                $mail_params['body'] .= '<br />'.$keys_to_include[$k].': '.$v;
            }
        }
    
        return $mail_params;
    } 
    

    只需根据您在表单中的字段映射$keys_to_include,如果您只想对某些表单执行此操作,您可以将所有内容包装在条件中以首先检查表单ID(联系表单有很多隐藏字段使用它们)

    【讨论】:

    • 感谢您的宝贵时间。我用其他方法解决了这个问题
    猜你喜欢
    • 2017-06-23
    • 2013-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    相关资源
    最近更新 更多