如何使Wordpress Contact Form 7短代码因页面GET值而异?

问题描述 投票:0回答:1

带有模板形式7的Wordpress。

我有第1,2,3页,并带有指向反馈页反馈的链接:

  1. site.com/page1/,URL = a href =“ site.com/feedback?type=1”
  2. site.com/page2/,URL = a href =“ site.com/feedback?type=2”
  3. site.com/page3/,URL = a href =“ site.com/feedback?type=3”

我想显示联系表7的特殊布局取决于变量值(类型1,类型2,类型3)

此插件Contact Form 7动态文本扩展(link here)可以读取var值,但是我无法根据var值切换特殊的Contact Form 7块。 :-(

我找到了这个插件-Contact Form 7 - Conditional Fields(但它为一种形式创建了字段)。但是我需要在第3页上显示“准备插入”模板:-(

是否可以根据site.com/feedback?type=(number)显示Contact Form 7 id短代码?

谢谢您的建议。

wordpress contact-form-7
1个回答
1
投票

您可以创建一个自定义简码来调用使用URL中的$_GET参数的联系表单7。您必须将此函数放在子主题或主题的functions.php中。将contact-form-7的ID替换为您所使用的ID。另外...您可以继续放置并随意放置任意数量。您也可以使用php switch代替ifelif等。

因此,在您的页面模板上,请勿使用[contact-form-7]简码,而只需输入[my-cf7]

add_shortcode('my-cf7', 'so_61464677_cf7_shortcode');
function so_61464677_cf7_shortcode(){
    if ($_GET['type'] == 2){
        return do_shortcode('[contact-form-7 id="2"]');
    } elseif ($_GET['type'] == 3) {
        return do_shortcode('[contact-form-7 id="3"]');
    } else {
        return do_shortcode('[contact-form-7 id="1"]');
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.