Wordpress联系表单7:传递自定义HTML和表单数据

时间:2018-03-08 15:58:33

标签: php wordpress contact-form-7

我使用联系表格7创建查询表格。

在网站上,用户可以将任意数量的项目添加到购物篮中。我有一个页面,其中包含收集个人详细信息的表单,我也在该页面上输出购物篮数据(购物篮数据使用本地存储存储)。

我想通过电子邮件将查询发送给管理员,其中包括个人表单数据以及购物篮中每个项目的详细信息。

目前我能想到的唯一方法是在表单中使用隐藏字段,将篮子项的HTML添加到此字段(使用JS):

// add data to input
var enquiryInput = $('textarea.order-input');
var enquiryInputVal = '';

// loop through each item
$.each(wishlist, function(i, item) {
    $.each(item, function(key, value) {
        if( key === 'ID' ) {
            // do nothing
        } else if( key === 'product' ) {
            // remove hyphens and uppercase each word
            key = key.replace(/-/g, ' ');
            key = key.replace(/\w\S*/g, function(txt){
                return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
            });
            // add to string
            enquiryInputVal += '<b>'+ key +': '+ value +'</b><br/>';
        } else {
            // remove hyphens and uppercase each word
            key = key.replace(/-/g, ' ');
            key = key.replace(/\w\S*/g, function(txt){
                return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
            });
            // add to string
            enquiryInputVal += key +': '+ value +'<br/>';
        }
    });
    enquiryInputVal += '<br/><br/>';
});

// set value of hidden input to show wishlist in enquiry form
enquiryInput.val(enquiryInputVal);

...然后使用传统的CF7邮件标签[order]输出它。

数据显示,但它没有为该字段呈现HTML(出于明显的安全原因,我猜)

例如(这是我收件箱中CF7 HTML电子邮件中的内容):

<b>Product: Product Title</b><br/>Quantity: 34<br/>Comments: Suspendisse turpis felis, pretium sit amet mollis et, sollicitudin vel eros. <br/><br/><br/><b>Product: Product 2 Title</b><br/>Quantity: 164<br/>Comments: Ut egestas consequat faucibus. <br/><br/><br/>

有没有人知道如何将附加HTML与表单数据一起传递,并且能够在CF7的“邮件”选项卡中访问它?我查看了文档,但我看不到一个似乎可行的钩子。

0 个答案:

没有答案