Передача данных между страницами Wordpress - PullRequest
3 голосов
/ 24 августа 2010

У меня есть меню, когда пользователь нажимает на любой элемент меню, я хочу перевести их на ту же страницу , но я хочу по-разному оформить страницу в зависимости от пункта меню ... Пример: изменить цвет фона на другой. Какой лучший способ сделать это? Я думал, что когда они нажимают на элемент меню, можно установить переменную или переменную сеанса.

Есть ли более простой способ сделать это? Есть ли в Wordpress что-нибудь встроенное в архитектуру, чтобы сделать это легко?

Ответы [ 2 ]

5 голосов
/ 24 августа 2010

Не используйте сессию для этого.Поскольку HTTP является протоколом без сохранения состояния, вам следует избегать использования сеанса максимально возможной длины.Так как пользователь нажимает на ссылку, имеет смысл только заставить эту ссылку передавать информацию, которую вы ищете.Просто передайте любые данные, которые вы хотите в URL, например, в качестве параметра строки запроса:

  1. http://example.com/page_x?bgcolor=1
  2. http://example.com/page_x?bgcolor=2
  3. http://example.com/page_x?bgcolor=3

Тогда вы можете просто запросить это в шаблоне страницы примерно так:

<?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;
  }
?>

Если вы считаете параметры строки запроса некрасивыми, вы можете использовать вместо этого информацию о пути, но для этого необходимо создать специальное правило перезаписи , которое делает информацию о пути «невидимой» для WordPress, поэтому она не считает, что это кусок страницы.То, хотите ли вы или нуждаетесь в этом, зависит от конфигурации вашей постоянной ссылки в WordPress.

0 голосов
/ 24 августа 2010
  1. Вы должны создать свою страницу как шаблон wp (если вы еще не создали) ( см. )
  2. вы правы с переменной сессии. передать переменную на эту страницу и обработать ее там. тут есть немного программирования ...

Я не знаю другого способа сделать то, что вы просите.

...