我有一个菜单,当用户点击任何菜单项时,我想将它们带到同一页面,但我想根据菜单项不同地设置页面样式...例如:将背景颜色更改为不同。 最好的方法是什么?我在想,当他们点击菜单项时,可以设置变量或设置会话变量。
有更简单的方法吗? Wordpress是否在构建中内置了任何内容以使其变得简单?
答案 0 :(得分:5)
请勿使用此会话。由于HTTP是无状态协议,因此应尽量避免使用会话。由于用户点击链接,因此只有通过链接传达您所关注的信息才有意义。只需在网址中传递您想要的任何数据,例如作为查询字符串参数:
http://example.com/page_x?bgcolor=1
http://example.com/page_x?bgcolor=2
http://example.com/page_x?bgcolor=3
然后您可以在page template中查询,如此:
<?php
/*
Template Name: Varying Background Color Template
*/
$bgcolor = $_GET['bgcolor'];
switch ($bgcolor) {
case 1:
// Change the background to color 1
break;
case 2:
// Change the background to color 2
break;
case 3:
// Change the background to color 3
break;
}
?>
如果您认为查询字符串参数很难看,您可以使用路径信息,但这需要您创建一个特殊情况rewrite rule,使WordPress的路径信息“不可见”,因此它不认为它是一页的slu ..您是否想要或需要这取决于您在WordPress中的永久链接配置的方式。
答案 1 :(得分:-2)
我不知道你做什么的另一种方式。