首先,对不起,长时间阅读。但我希望这能更好地解释我试图做的事情......
我可能正在尝试一些无法做到的事情。但无论如何我还会问这个问题。
我在这个自定义帖子类型中有一个自定义帖子类型(beachevents)我有我的beachevents-posts。在循环循环 - beachevents中,不知道这是否重要,但确定。
我也有一些地方,如Noord Holland,Zuid Holland和Flevoland。 地点是自定义分类(locations_noord_holland,locations_zuid_holand等)
分类学locations_noord_holland充满了荷兰北部的城市,就像阿姆斯特丹这样的问题。
当你去家 - >地点 - > Noord Holland - >阿姆斯特丹 网址是:home.nl/locaties/noord-holland/amsterdam(阿姆斯特丹是Slug)。
在这个屏幕上有一些关于阿姆斯特丹的beachevents的文字。它还使用以下代码获取slug阿姆斯特丹:
<?php $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); echo $term->name; ?>
返回&#34; Amache的Beachevents&#34;作为标题。
现在好了代码部分。当您点击阿姆斯特丹的beachevent时,它会将您链接到home.nl/activiteiten/your-beachevent/(activiteiten是自定义帖子类型beachevents的自定义帖子类型重写)
在该页面上有一个隐藏的联系表单7,使用fancybox激活。 使用此代码:
<a class="my-subject fancybox-offerte" href="#offerte" dataTitle="<?php echo $subject; ?>"><div class="btn btn-04">Offerte aanvragen</div></a>
dataTitle就在那里,所以联系表单7知道选择了哪些beachevents并自动在联系表单中将此值设置为&#34; beachevent&#34;这一切都与Contactform 7&#34;中的&#34;动态内容插件结合使用。
所以,这解释了很多。现在我想要的是让Wordpress记住用户来自哪个slug(在这种情况下是阿姆斯特丹)并使用动态内容插件将这个城市添加到联系表单。
我所知道的是,我必须告诉Wordpress记住阿姆斯特丹(或任何其他来自Noord Holland,Zuid Holland或Flevoland的城市)。并以任何形式存储此值,以便联系表单知道将此信息放在何处。
在联系表格中,我可以添加以下内容:
<li class="low-li">[dynamictext text-uitje id:txt-uitje class:dy-text "CF7_ADD_CITY"]</li>
然后我将此代码添加到我的函数文件中:
function cf7_add_city() {
global $post;
$city = get_field('stad');
return $city;
}
add_shortcode('CF7_ADD_CITY', 'cf7_add_city');
但这只有在我将城市设置在一些高级自定义字段并获得它的价值时才有效。但是,这并没有得到我希望Wordpress在上一页中记住的(动态)slug。
任何人都可以帮我吗?这有可能吗?
答案 0 :(得分:2)
每次加载该页面时,您都可以在$_SESSION
中进行设置。
答案 1 :(得分:1)
$_SESSION
似乎没问题,您可以在与城市相关的每个页面中设置类似$_SESSION['slug] = 'cityname'
的内容,或者您希望表单根据访问过的最后一个城市页面来推断城市,但仅限于在结束表单之前寻找上一页,您可以尝试$_SERVER['HTTP_REFERER']
检查上一页的网址
答案 2 :(得分:0)
谢谢thamizhan和KiJéy。我得到了它的工作。对于那些知道怎么样的人?这是我的代码:
首先在header.php文件中打开SESSION。
然后(如果你想要slug,你可以使用任何东西)将它添加到你存储会话的页面:
$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
然后页面上的任何一个存储了slug:
<?php $_SESSION["stad"] = $term->name; ?>
从现在开始,你可以随时随地回应:
<?php echo $_SESSION["stad"]; ?>
玩得开心..