通过短代码 WordPress 将自定义文本添加到 Contact Form 7

Add custom text to Contact Form 7 via shortcode WordPress

我正在使用 Contact Fom 7,需要在表单的某处添加自定义文本。

我从高级自定义字段的子字段中获取带有 PHP 的自定义文本。我知道,有一个名为 "Contact Form 7 Dynamic Text Extension" 的额外插件 (https://de.wordpress.org/plugins/contact-form-7-dynamic-text-extension/)。但是因为文本在子字段中,我不能使用它。

所以,我需要的是隐藏输入字段或生成的 e-mail 表单中的文本。

我以为是 CF7 简码本身的自定义参数。像这样:

[contact-form-7 id="1" title="Title" customtext="Text"]

这可能吗?

或者是否可以使用标题并将其添加到输入字段或表单的 e-mail 中?

首先在php

中添加字段
function cf7_add_my_field(){

    global $post;
    return $post->ID; // Here instead of returning post id, get your meta/submeta field and return that value.
}

add_shortcode('CF7_ADD_MY_FIELD', 'cf7_add_my_field');

现在,在您的表单中添加以下内容 -

[dynamictext my-filed-name "CF7_ADD_MY_FIELD"]

注意:您需要 "Contact Form 7 Dynamic Text Extension" 插件,您已经提到了。

您有一个名为“customtext”的目标电子邮件地址字段:

[text* customtext]

要从短代码属性中获取默认值,请将 default:shortcode_attr 选项添加到表单标签中:

[text* customtext default:shortcode_attr]

然后,将与字段同名的属性(在本例中为“customtext”)添加到联系表单的短代码中:

[contact-form-7 id="123" title="Contact Form" customtext="xxxxxx@example.com"]

您需要预先注册该属性。

将以下代码片段添加到主题的 functions.php 文件中:

add_filter( 'shortcode_atts_wpcf7', 'custom_shortcode_atts_wpcf7_filter', 10, 3 );

function custom_shortcode_atts_wpcf7_filter( $out, $pairs, $atts ) {
    $my_attr = 'customtext;

if ( isset( $atts[$my_attr] ) ) {
    $out[$my_attr] = $atts[$my_attr];
}

return $out;
}

参考 link : https://contactform7.com/getting-default-values-from-shortcode-attributes/