根据用户选择在网站上显示不同的页面

时间:2016-03-16 作者:adrian.jao

我现在正在建立一个Wordpress网站,在第一页上有一个自动打开的弹出窗口,用户可以在两个选项中进行选择(例如,如果他们是私人客户或公司客户)。根据所选选项,我需要:

向私人客户显示一些页面向公司客户显示其他页面向所有客户显示一些页面(前联系人)有什么想法吗?如何标记选项以及如何使用此“标记”筛选页面?

非常感谢您的帮助!

后期编辑:规格要求用户所做的选项应保存更长时间,因此用户只有在第一次访问站点时(以及当cookie(如果这是最佳解决方案)过期时)才会获得此弹出窗口。

1 个回复
最合适的回答,由SO网友:VesterDe 整理而成

一些评论者提到使用$\\u会话来解决问题,并在那里保存一个变量(即“visitor\\u type”),以便在显示页面时使用它。

这是可行的,但通常不鼓励在Wordpress中使用$\\u会话,原因如下here.

然而,我也遇到过这样的情况:您无法避免使用$\\u会话。

我要做的是,如果这不是一个好的解决方案,请纠正我,就是有3个不同的菜单,默认情况下使用显示给所有访问者的菜单。一旦访问者单击“Company”或“Individual”,页面就会刷新,并将$\\u GET变量设置为“Company”或“Individual”。

在调用菜单的代码中,可以检查$\\u GET以获取该值并加载其他菜单。一个非常简单的解决方案可以如下所示:

if(isset($_SESSION["visitor_type"])){
wp_nav_menu( array( \'theme_location\' => \'primary\'.$_SESSION["visitor_type"] );
}
elseif(isset($_GET["visitor_type"]){
$_SESSION["visitor_type"] = $_GET["visitor_type"];
wp_nav_menu( array( \'theme_location\' => \'primary\'.$_GET["visitor_type"] );
}
else{
wp_nav_menu( array( \'theme_location\' => \'primary_generic\' );
}
现在,您可以智能地处理$\\u会话的复杂性,比如您是否希望允许访问者切换类型等。。。

祝你好运

编辑:当我写这篇文章时,有人提到了饼干。有一些关于它们的阅读资料here.

相关推荐

Permalinks for pages

为什么我不能为我的pages? 我有一个4层结构,家用解决方案机械钢所以我希望我的URL结构是www.domein.com/solutions/machines/steel 但我在哪里可以做到这一点??我在4层结构中进行了所有分类。但在permalinks编辑器中,我只能选择帖子或产品。。。我觉得奇怪,我不能对我的页面做同样的事情。。。我希望这是有意义的,有人可以帮助我,谢谢!