为首次用户显示不同的页面

时间:2015-06-18 作者:dh47

根据我的要求,我需要显示一个页面firstpage.php 对于访问我的网站的用户first time 否则应显示主页homepage.php

我将这两个页面创建为page-templates

为此,到目前为止,我已使用以下代码成功设置使用cookie

if (!isset($_COOKIE[\'visited\'])) { // no cookie, so probably the first time here
        setcookie (\'visited\', \'yes\', time() + 3600); // set visited cookie

        header("Location: index.php");
        exit(); // always use exit after redirect to prevent further loading of the page
    }
else{ 
         header("Location: index.php/first-page/");
    }
当我使用上述代码时,它并没有被重定向到所需的URL,从而导致了一个错误。

页面未正确重定向

3 个回复
最合适的回答,由SO网友:dh47 整理而成

我找到了一个plugin 为了满足我的需求,可以使用cookies 我们需要提供Welcome URL A、 K.A.公司firstpage 在我和他们的情况下,我们需要选择第二次重定向哪个页面。

SO网友:Domain

在主题函数中放入以下代码。php:-

add_action(\'template_redirect\',\'wdm_redirect\');
function wdm_redirect(){
$ip = $_SERVER[\'REMOTE_ADDR\'];
$value = get_option($ip);

     if ($value == \'\') {                 
                update_option($ip,1);
                        wp_redirect(site_url(\'first-page\'));
                        exit(); // always use exit after redirect to prevent further loading of the page
      } 

}

SO网友:Brad Dalton

使用template_include 有条件的首次访客:

add_filter( \'template_include\', \'first_time_visitor_template\', 99 );

function first_time_visitor_template( $template ) {

    if ( // your conditional for first time visitor {
        $new_template = locate_template( array( \'first-time-template.php\' ) );
        if ( \'\' != $new_template ) {
            return $new_template ;
        }
    }

    return $template;
}

Do NOT use template_redirect

你需要test what solution works for a first time visitor.

结束

相关推荐

WP redirect rule doesn't work

我正在尝试重定向页面http://www.example.org/newsletter/unsubscribe.html 到http://www.example.org/newsletter/unsubscribe.我尝试了以下方法:add_rewrite_rule(\'newsletter/unsubscribe.html$\', \'newsletter/unsubscribe\', \'top\'); 如果我var_dump 这个global wp_rewrite 我看到添加了以下规则: