记住下一页的段塞

Remember slug for next page

本文关键字:段塞 一页      更新时间:2023-09-26

首先,很抱歉阅读时间过长。但我希望这能更好地解释我想做什么…

我可能在尝试一些做不到的事情。但我还是会问这个问题。

我有一个自定义帖子类型(海滩事件)在这个自定义帖子类型我有我的海滩事件帖子。有所有的循环海滩事件,不知道这是否重要,但好的。

我也有一些地方,如诺德荷兰,祖伊德荷兰和弗利沃兰。位置是一种自定义分类法(Locations_noord_holland、Locations_zuid_holand等)

分类法locations_noord_holland中充满了诺德荷兰的城市,比如阿姆斯特丹。

当您前往主页->地点->荷兰诺德->阿姆斯特丹URL为:home.nl/locates/noord-holland/amsterdam(其中amsterdam是Slug)。

在这个屏幕上有一些关于阿姆斯特丹海滩活动的文字。此外,它还获取具有以下代码的slug Amsterdam:

<?php $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); echo $term->name; ?>

以"Amterdam的Beachevents"作为标题。

好的,现在是代码部分。当你点击阿姆斯特丹的海滩活动时,它会将你链接到home.nl/activiten/your-bachevent/(activiteten是从自定义帖子类型的海滩活动重写的自定义帖子类型)

在那个页面上有一个隐藏的联系人表格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,并自动将联系人表单中的此值设置为"beachevent",这一切都与"Contactform 7的动态内容插件"相结合。

所以,这就解释了很多。现在,我想让Wordpress记住用户来自哪个地方(在本例中为阿姆斯特丹),并使用动态内容插件将这个城市添加到联系人表单中。

我所知道的是,我必须告诉Wordpress记住阿姆斯特丹(或任何其他来自诺德荷兰、祖伊德荷兰或弗利沃兰的城市)。并以任何形式存储此值,以便联系人表单知道将这些信息放在哪里。

在联系表格中,我可以添加以下内容:

<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记住上一页的(动态)片段。

有人能帮我吗?这有可能吗?

您可以在每次加载该页面时在$_SESSION中设置它。

$_SESSION似乎可以,您可以在每个涉及城市的页面中设置类似$_SESSION['slug] = 'cityname'的内容,或者如果您希望表单不根据上次访问的城市页面推断城市,而只在表单结束前查找上一页,您可以尝试$_SERVER['HTTP_REFERER']来检查上一页的URL

谢谢thamizhan和Ki Jéy。我开始工作了。对于任何想知道怎么做的人来说?这是我的代码:

首先在header.php文件中打开SESSION。

然后(如果你想要鼻涕虫,你可以使用任何东西)将其添加到页面中,你可以存储你的SESSION:

$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );

然后页面上的任何人都会存储碎片:

<?php $_SESSION["stad"] = $term->name; ?>

从现在开始,你可以在任何地方回声:

<?php echo $_SESSION["stad"]; ?>

玩得开心。。