WordPress重定向至第一周每天一次的首页

时间:2014-05-19 作者:Underfrog

我如何将用户重定向到他们仅访问的第一周的启动页?这段代码将每周重定向一次,但我更喜欢每天重定向一次,持续7天的解决方案:

function checkAccessed(){
if ( !isset($_COOKIE[\'accessed\']) ) { 
    setcookie(\'accessed\', \'yes\', time() + 3600*24*7); 
    define("ACCESSED", false);
}else{
    define("ACCESSED", true);
}
}
add_action("init", "checkAccessed");
启动页应该允许用户在其他链接之间访问主页。

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

这可以通过两个Cookie来实现。

节省用户首次访问unix的时间。过期时间设置为更高的值,A cookie that never expires.

代码

function wpse144762_check_accessed(){

    if( !isset($_COOKIE[\'first_time\']) ) {
        // user visiting for the first time
        setcookie(\'first_time\', \'yes\', time() + 60 * 60 * 24 * 365 * 10); // expires in 10 years 
        define("ACCESSED", false);
    }elseif ( 
                !isset($_COOKIE[\'accessed\']) 
                && intval($_COOKIE[\'first_time\']) > time() - 60 * 60 * 24 * 7 
    ) { 
        setcookie(\'accessed\', \'yes\', time() + 3600*24); 
        define("ACCESSED", false);
    }else{
        define("ACCESSED", true);
    }
}
add_action("template_redirect", "wpse144762_check_accessed");
未测试代码。但这应该给你一个想法

结束

相关推荐

get_delete_post_link redirect

我使用它来允许用户删除自己在我的网站前端的帖子:<a onclick=\"return confirm(\'Move this post to the trash? You can restore it later.\');\" href=\"<?php echo get_delete_post_link($postid); ?>\">Trash Post</a> 问题是,这刷新了当前页面,并向URL添加了一些查询参数(trashed=1,ids=123)。我