通过url参数重写短代码

时间:2016-09-29 09:23:27

标签: wordpress contact-form-7

问题是我有一个WordPress页面,其中包含许多行程,每次旅行都插入了一个特定的联系表格(因为它根据日期,住宿等而有所不同)。使用的插件是“联系表格7”。

现在我们想要提供直接预订的选项,其中还包括提供旅行者的详细信息(年龄,出生日期等)。我的意思是,通过联系表单中的一个按钮,他将被引导到另一个页面,只有表格和第一个相同的选项,但也添加框以输入每个旅行者的信息。

第一个目标是不必复制所有带有“预订版本”的表格,这是我通过“联系表格7条件字段”插件实现的;所有关于旅行者人数的信息都已包含在原始联系表格中,但如果其中一个字段未填写“预订旅游”字样,则不会显示。然后,当您点击“我想预订行程”时,它会将您发送到另一个页面,该页面具有相同的格式但该文本包含在内,因此它使用url参数取消隐藏其余字段:

跳闸预订/?部首=预订%第二十条%跳闸

现在出现的第二个问题我不知道如何解决。 “书页”中唯一的内容是一个简单的短代码文本,如下所示: [Contact-form-7 id =“001”title =“Journey 1”]

所以我必须为每个表单制作一个页面,这很烦人。

我的问题是,是否有任何方法可以通过参数url动态“重写”内容,这样如果我放入链接:

跳闸预订/?部首=预订%第二十条%行?形式= 001

该页面将包含以下代码:

[Contact-form-7 id =“001”]

如果我输入另一个网址,例如:

跳闸预订/?部首=预订%第二十条%行?形式= 002

该页面将包含以下代码:

[Contact-form-7 id =“002”]

因此我不知道如何将其形式化以避免为每个短代码创建特定页面。

显然我对任何建议持开放态度。

1 个答案:

答案 0 :(得分:0)

您可以从URL获取formID并调用do_shortcode。

$formId = $_GET['form']; do_shortcode('[Contact-form-7 id="'.$formId.'"]'); https://developer.wordpress.org/reference/functions/do_shortcode/