这是一直在吃我的人。
我收集了12个名为“产品”的帖子,这些帖子被分配了类别,比如“军事”,“卡车运输”,“建筑”和“铁路”。其中很多都是重叠的,例如,产品1可能适用于军用和货运,而产品2只适用于铁路。很容易。
这是它变得有趣的地方。军事页面(使用一个模板)将引入已分配给军事类别的所有产品,以及用于货运的相同(使用不同的模板)。一切都很好,但当我点击产品1时,我希望它保留它刚刚出现的页面模板。
基本上,我如何根据他们输入的页面生成single.php的格式?这甚至可能吗?
答案 0 :(得分:0)
我要做的是在页面加载时页面检查上一页ID的cookie。检查该页面ID的布局是什么并为其提供服务。
将其放入footer.php
文件中:
global $wp_query; // Get the global query object
$post_id = $wp_query->post->ID; // Set ID to variable
setcookie('last_id', $post_id, false, '/'); // Set cookie for subsequent requests
这将在当前页面上运行所有代码后设置cookie。它实质上是为下一页设置cookie。然后,您可以检查代码中的单个模板:
if(isset($_COOKIE['last_id']){
$id = intval($_COOKIE['last_id']);
// Code for setting template
}
答案 1 :(得分:0)
有一个Wordpress标签可以做到这一点 - wp_get_referer。我只想自己解决这个问题,并在http://zoerooney.com/blog/tutorials/using-the-referring-page-in-wordpress/
找到答案// use the WordPress tag wp_get_referer to assign the referring URL to the variable $referer
$referer = wp_get_referer();
// check if the URL is a specific one
if ( $referer == "whatever-your-previous-page-url-is" ) {
// if it is, do something
} else {
// if it isn't, do something else
}