代码之家  ›  专栏  ›  技术社区  ›  cosmoloc

联系人表单7:如果文本区域为空,则向邮件发送默认值

  •  4
  • cosmoloc  · 技术社区  · 12 年前

    [您的姓名]我有一个联系人表单7 3.7,文本区域字段如下:

    <p>Message (optional)<br />
    [textarea my-message]</p>
    

    邮件格式为:

    From :    [your-name] | [your-email]
    Message : [my-message]
    

    现在,文本区域是空的。
    如果用户未在消息框中填写任何数据,则邮件将以空字段发送。
    如果文本区域为空,如何默认发送“无”值?

    5 回复  |  直到 12 年前
        1
  •  5
  •   DACrosby    12 年前

    这需要一段时间才能找到,可能还需要一些工作,但请在您的 functions.php 文件:

    add_action("wpcf7_posted_data", "wpcf7_modify_this");
    function wpcf7_modify_this($posted_data) {
    
        // if user leaves the message area blank, set to "None"
        if ($posted_data['my-message'] == "")
            $posted_data['my-message'] = "None";
    
        // generic example
        if ( /* some logic */ )
            $posted_data['/* cf7-field-name */'] = "ValueToEmail";
    
        return $posted_data;
    }
    

    这里需要注意的一点是,验证发生在这一点之前,因此如果您允许用户输入空白值,请不要将其设置为必需的。

        2
  •  0
  •   danyo    12 年前

    根据联系人表单7网站,您可以指定默认值。

    例子:

    [email* your-email default:user_email]
    

    这将用当前用户的电子邮件地址填充字段。

    更多信息 here

        3
  •  0
  •   bv.ebizzinfotech    12 年前

    真是太好了。
    选择 文本区域 选项来自 生成标记 联系人表单生成中的下拉菜单。
    还有设置默认值的选项。
    通过使用该选项,您可以设置文本区域的默认值。 我在这里附上了一张图片。。。
    在那张图片中,我展示了细节。

    ContactForm7 Add new form

    它的工作对我来说。。。
    我希望这对你也有用。

        4
  •  0
  •   Vasco    5 年前

    我尝试了上面@DACrosby提供的代码,但那个代码对我不起作用。所以我删除了一些代码并将其更改为这个,然后它就完美地工作了!

    add_action("wpcf7_posted_data", "wpcf7_modify_this");
    function wpcf7_modify_this($posted_data) {
    
        // if user leaves the message area blank, set to "None"
        if ($posted_data['my-message'] == "")
            $posted_data['my-message'] = "None";
    
        // generic example
        if ( /* some logic */ )
            $posted_data['/* cf7-field-name */'] = "ValueToEmail";
    
        return $posted_data;
    }
    
        5
  •  -2
  •   Tom    12 年前

    据我所知,你不能用联系表格7做到这一点。