通过短代码 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/
我正在使用 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/