Не используйте сеанс для этого. Поскольку HTTP - это протокол без учета состояния, вам следует избегать использования сеанса с наибольшей длиной. Поскольку пользователь нажимает на ссылку, имеет смысл только сделать эту ссылку передаваемой вами информации. Просто передайте любые данные, которые вы хотите в URL-адресе, например. а аа параметр строки запроса:
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;
}
?>
Если вы думаете параметры строки запроса уродливы, вы можете использовать информацию о пути i но это требует, чтобы вы создали специальный случай rewrite rule, который делает информацию о пути «невидимой» для WordPress, поэтому она не думает, что это пуля страницы. Независимо от того, хотите ли вы этого или нет, это зависит от того, как ваша постоянная ссылка в WordPress.
http://stackoverflow.com/questions/1719087/multi-dimensional-array-post-from-form/5070123#507 – cregox