在Wordpress'页面'之间传递数据

时间:2010-08-24 02:28:53

标签: wordpress environment-variables session-variables

我有一个菜单,当用户点击任何菜单项时,我想将它们带到同一页面,但我想根据菜单项不同地设置页面样式...例如:将背景颜色更改为不同。 最好的方法是什么?我在想,当他们点击菜单项时,可以设置变量或设置会话变量。

有更简单的方法吗? Wordpress是否在构建中内置了任何内容以使其变得简单?

2 个答案:

答案 0 :(得分:5)

请勿使用此会话。由于HTTP是无状态协议,因此应尽量避免使用会话。由于用户点击链接,因此只有通过链接传达您所关注的信息才有意义。只需在网址中传递您想要的任何数据,例如作为查询字符串参数:

  1. http://example.com/page_x?bgcolor=1
  2. http://example.com/page_x?bgcolor=2
  3. http://example.com/page_x?bgcolor=3
  4. 然后您可以在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)

  1. 您必须将您的网页创建为wp模板(如果您尚未创建)(see this
  2. 你是对的会话变量。将变量传递给该页面并在那里处理它。有一些编程涉及......
  3. 我不知道你做什么的另一种方式。