我想为访问我的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\');
结束