2010-03-11 3 views
1

В основном, как cragslist. как только вы выбираете город на Craigslist, в следующий раз, когда вы идете на сайт, он перенаправляет вас в выбранный вами город.WP: перенаправление пользователей в определенную категорию с использованием файлов cookie

Что я хочу достичь: когда человек приходит на сайт и выбирает определенную категорию, в следующий раз, когда они придут на сайт (возвращающийся пользователь), страница откроется в этой категории.

Я думаю, что это было бы довольно легко сделать, установив cookie, когда посетитель нажимает на ссылку категории (или когда страница категории загружается). Когда они вернутся в следующий раз, cookie будет прочитан, а затем страница будет перенаправлена ​​соответствующим образом.

К сожалению, мое знание PHP и файлов cookie ограничено (отсюда и поиск ответов), поэтому мне нужно спросить, может ли кто-нибудь помочь мне!

У кого-нибудь есть идеи?

Спасибо!

+0

возможно дубликат [WordPress, категория редирект с использованием куки] (http://stackoverflow.com/questions/2395175/wordpress-category-redirect-using-cookies) – Kevin

ответ

0

Прочитайте эту статью о том, как установить и получить печенье с PHP: http://www.w3schools.com/PHP/php_cookies.asp

Тогда прочитайте эту страницу на PHP заголовок перенаправления: http://php.net/manual/en/function.header.php

Положите два вместе, и вы можете направлять пользователей в любом месте! Удачи.

2

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

Дайте этому выстрел. Я не уверен, работает ли это, потому что я не могу проверить это сейчас, но он должен указать вам в правильном направлении.

function user_cat() 
{ 
    //Check to see if our cookie is set 
    if(isset($_COOKIE['visitorhome'])) 
    { 
     //Redirect to the link defined in the cookie 
     wp_redirect($_COOKIE['visitorhome'], 302); 
    } 
    else 
    { 
     //If it's a category page than get the current URL set the cookie with it. 
     if(is_category()) 
     { 
      $user_cat = get_permalink(); 
      setcookie("visitorhome", $user_cat, time()+86400, "/", str_replace('http://www','',get_bloginfo('url'))); 
     } 
    } 
} 
add_action('init', 'user_cat'); 
Смежные вопросы