如何检测用户的首次访问?

时间:2013-01-18 作者:Pete St.

我想为访问我的WordPress博客的用户建立一个警报。有这样的条件函数吗is_home() 要检测是否有人访问博客first time? 我想向每个新用户发送警报,无论他进入哪个网站。

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

不,核心里没有那样的东西。

您可以设置一个cookie并简单地执行它(警告:下面是未测试的代码)。

<?php
function is_first_time()
{
    if (isset($_COOKIE[\'_wp_first_time\']) || is_user_logged_in()) {
        return false;
    }

    $domain = COOKIE_DOMAIN ? COOKIE_DOMAIN : $_SERVER[\'HTTP_HOST\'];

    // expires in 30 days.
    setcookie(\'_wp_first_time\', \'1\', time() + (WEEK_IN_SECONDS * 4), \'/\', $domain);

    return true;
}

if (is_first_time()) {
     // it\'s the user\'s first time, do stuff!
}
只需确保打开了输出缓冲,或者在将任何内容发送到屏幕之前使用该功能,以确保设置了cookie。

SO网友:Kegan Quimby

修改了chrisguitarguy的一点。放置在您的函数中。php文件,并通过挂钩使用主题模板中的条件等

function is_first_time() {
    if (isset($_COOKIE[\'_wp_first_time\']) || is_user_logged_in()) {
        return false;
    } else {
        // expires in 30 days.
        setcookie(\'_wp_first_time\', 1, time() + (WEEK_IN_SECONDS * 4), COOKIEPATH, COOKIE_DOMAIN, false);

        return true;
    }
}
add_action( \'init\', \'is_first_time\');

结束

相关推荐

Ajax for non-logged-in users

我正在开发一个插件,它可以从未登录用户(如Like按钮)捕获一些数据,并根据post\\u id将其输入数据库。我的插件对登录用户很好,但非登录用户在AJAX中会产生“-1”响应。我猜这与写入数据库的身份验证障碍有关,但我正在寻找一种解决方法。有什么想法吗?编辑:以下是代码:http://pastebin.com/ghtvJNiW我是根据Love-It AJAX plugin 皮平。他在教程中说,这只适用于登录用户,但我需要让它也适用于未登录用户。