首页 > 解决方案 > Wordpress 中的联系表格 7 - 如何隐藏电子邮件中的空白字段?

问题描述

这个问题与我的问题相似,但这没有解决问题的答案 Wordpress 中的联系表格 7 - 如何隐藏电子邮件中未完成的字段?

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

标签: wordpressemailfieldcontact-formcontact-form-7

解决方案


如果您有一个表单,或者多个具有相似字段集的表单,您可以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(联系表单有很多隐藏字段使用它们)


推荐阅读