一些评论者提到使用$\\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.