如果设置了cookie,如何在Wordpress中加载不同的首页?

时间:2011-11-30 05:30:37

标签: php wordpress cookies redirect

我正在试图弄清楚我是如何写一个函数或什么东西,以便Wordpress将根据cookie向用户显示2个不同的页面。 如果设置了cookie,他们会看到不同的首页。两个页面都必须是wordpress,即可以从wordpress编辑,我只想根据cookie的设置更改page_id

  1. 如果用户之前没有访问过网站,则设置Cookie
  2. 向他展示博客
  3. 如果已设置cookie show user page_id = 9
  4. 例如,如果设置了cookie,他们会看到page_id = 9,如果没有设置cookie,他们会看到博客。没有用户注册,只是在设置PHP cookie时偶然重定向

    即使在谷歌搜索后我也找不到以下内容。

2 个答案:

答案 0 :(得分:0)

您可以执行javascript重定向。未经测试,但这应该工作。来自Quirksmode的Cookie引用。

createCookie('beenhere', '1', 1);
if (readCookie('beenhere') == '1' && window.location.pathname == '' ) {
   window.location = window.location.hostname + "/page_id=9"
}

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

答案 1 :(得分:0)

将标题放在标题的顶部或索引页中

if ( isset( $_COOKIE['cookie'] ) ) {
    header( "Location: /?page_id=9" );
}
else {
    setcookie(...);
}

检查cookie,如果它存在重定向,否则设置cookie

注意:这只适用于模板页面,例如您的默认(登录页面)模板是'Home'将此代码放入您的主页模板中。 它在根目录

中的header.php或index.php中不起作用
相关问题