Php 通过快捷码WordPress向联系人表格7添加自定义文本

Php 通过快捷码WordPress向联系人表格7添加自定义文本,php,wordpress,contact-form-7,Php,Wordpress,Contact Form 7,我正在使用Contact Fom 7,需要在表单的某处添加自定义文本 我使用PHP从高级自定义字段的子字段中获取自定义文本。我知道,有一个额外的插件叫做“Contact Form 7 Dynamic Text Extension”(联系表单7动态文本扩展)。但是因为文本在子字段中,我不能使用它 因此,我需要的是隐藏输入字段中的文本或表单生成的电子邮件中的文本 我认为CF7短代码本身是一个自定义参数。像这样: [contact-form-7 id="1" title="Title" customt

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

我使用PHP从高级自定义字段的子字段中获取自定义文本。我知道,有一个额外的插件叫做“Contact Form 7 Dynamic Text Extension”(联系表单7动态文本扩展)。但是因为文本在子字段中,我不能使用它

因此,我需要的是隐藏输入字段中的文本或表单生成的电子邮件中的文本

我认为CF7短代码本身是一个自定义参数。像这样:

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


或者可以使用标题并将其添加到输入字段或表单的电子邮件中吗?

首先在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”插件,您已经提到过了。

首先在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\u 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;
}

参考链接:

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

[text* customtext]
要从短代码属性中获取默认值,请将default:shortcode\u 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;
}


参考链接:

这是简单的文本吗?然后你可以简单地把它放在管理面板本身的输出文本中,对吗?这是一个简单的文本,但它在每个页面/表单上都是动态的,不同的。对于相同的表单,它是相同的权限?不幸的是不是。表单总是一样的,文本来自页面(通过PHP)。哦,然后需要代码。。。过滤器,我很确定过滤器在那里。你在找那个。我现在在办公室。一旦我有时间,我会设法找到解决办法。如果你很早就收到了一些东西,那是一个简单的文本吗?然后你可以简单地把它放在管理面板本身的输出文本中,对吗?这是一个简单的文本,但它在每个页面/表单上都是动态的,不同的。对于相同的表单,它是相同的权限?不幸的是不是。表单总是一样的,文本来自页面(通过PHP)。哦,然后需要代码。。。过滤器,我很确定过滤器在那里。你在找那个。我现在在办公室。一旦我有时间,我会设法找到解决办法。如果你很早就得到了一些东西,请把它贴到牙床上,不幸的是“子数据字段”是来自高级自定义字段的一个转发器字段。我需要的字段在中继器阵列内。如果我像你的回答那样做,我会得到X值。我只需要其中一个,但从中继器阵列中,我们不能只检索与此post/post id相关的数据吗?在这种情况下,我建议您发布子字段中的内容。我想我们会有办法解决问题的,一个帖子有不止一个联系人。例如:我有一个帖子叫“地点”,在这个地点,有10个联系人。我从repeater字段获取联系人,并打印他们的姓名和表格。在这个“while循环”中,我得到了名字、电子邮件和表单,很高兴听到这些。谢谢,不幸的是,“submeta字段”是来自高级自定义字段的repeater字段。我需要的字段在中继器阵列内。如果我像你的回答那样做,我会得到X值。我只需要其中一个,但从中继器阵列中,我们不能只检索与此post/post id相关的数据吗?在这种情况下,我建议您发布子字段中的内容。我想我们会有办法解决问题的,一个帖子有不止一个联系人。例如:我有一个帖子叫“地点”,在这个地点,有10个联系人。我从repeater字段获取联系人,并打印他们的姓名和表格。在这个“while循环”中,我得到了名字、电子邮件和表单,听到这些我很高兴