如何使用短码属性设置联系人表7字段默认值?

时间:2019-05-02 作者:Draws Ren Gundam

contact form 7插件提供了一个选项,可以使用shortcode属性设置表单字段的默认值(如文档所示here). 这对于使用(例如)动态更改通知电子邮件的收件人非常有用destination-email 表单中的字段标记,并使用shortcode属性在页面模板中使用do_shortcode 作用因此,例如,以下短代码会将电子邮件发送到[email protected]默认情况下,

[contact-form-7 id="123" title="Contact Form" destination-email="[email protected]"]
然而,目前尚不清楚如何使其发挥作用。

我已经读过其他帖子,他们也在问同样的问题:

ACF + contact form 7

我必须说,这个解决方案对我不起作用。联系人表单将继续向联系人表单7配置中设置的电子邮件地址发送电子邮件。

这就是我在单曲上的表现。php文件:

<?php echo do_shortcode( \'[contact-form-7 id="5" title="Form World Unite" destination-email="\'.get_field( \'email\' ).\'"]\' ); ?>
可能有什么问题?

1 个回复
SO网友:Aurovrata

destination email属性需要一个附加的过滤器才能正常工作,如cf7所述doc 还有这个论坛thread, 您需要确保执行以下4个步骤:

1) 除了short code属性之外,

[contact-form-7 id="123" title="Contact Form" destination-email="[email protected]"]
2)您需要,

add_filter( \'shortcode_atts_wpcf7\', \'custom_shortcode_atts_wpcf7_filter\', 10, 3 );
function custom_shortcode_atts_wpcf7_filter( $out, $pairs, $atts ) {
    $my_attr = \'destination-email\';
    if ( isset( $atts[$my_attr] ) ) {
        $out[$my_attr] = $atts[$my_attr];
    }
    return $out;
}`
3)假设表单中有一个字段

[email* destination-email default:shortcode_attr]
//If you want this field hidden you can use this code instead:
[hidden destination-email default:shortcode_attr]
4)最后但并非最不重要的是,您需要使用[destination-email] 邮件配置选项卡中“收件人”字段中的邮件标记。

相关推荐

Geoip shortcodes in comments

我想知道如何从geoip插件添加国家/地区短代码(https://pl.wordpress.org/plugins/geoip-detect/) 输入注释字段。[geoip\\u detect2 property=“country”]据我所知,注释字段必须是所见即所得字段(默认情况下不是文本)。还有其他方法吗?通过自定义php函数或其他方式?你好,Michal