如何在输出前设置自定义Cookie

时间:2010-09-24 作者:Dan Gayle

在发送php标头之前检查/设置cookie的可靠方法是什么?是否有一个操作或过滤器是挂接setcookie() 作用

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

取决于您是否需要检查WordPress的用户身份验证。如果您需要知道他们是否是登录用户,请访问\'init\'. 否则,越快越好。

如果它应该在每次页面加载时启动,并且只检查cookie的存在,并且不需要访问WP的任何API,那么我会将其放入一个名为0000a.php 确保在任何非核心文件意外发送头之前触发。

SO网友:Rarst

我想functions.php 绝对是在任何输出之前处理的,并且是扩展的合适位置。

至于胡克,也许吧after_setup_theme, 然后就来了。

SO网友:Chris_O

您可以创建一个函数来检查或设置cookie,但必须检查wp config。php,因为如果使用重定向,文件将在索引之前直接被访问。重定向上的php。

这是Mark Jaquith写的插件Age Verification 这要求用户在进入网站之前填写年龄验证表。我修改了它liquor, beer, wite site 是的。

if ( !defined( \'ABSPATH\' ) ) { // we\'re being called directly, to check the cookie
     if ( file_exists(\'../../wp-config.php\') )
                  include(\'../../wp-config.php\');
     elseif ( file_exists(\'../../../wp-config.php\') )
               include(\'../../../wp-config.php\');
    else
       die(\'Could not find wp-config.php\');
现在可能有更好的方法。这个插件是一年前写的。

结束

相关推荐

我收到“您的Web主机不支持PHP日期/时间库”。在我的CentOS主机上,我需要安装什么库才能添加支持?

我快速环顾了一下四周,但我的PHP技能还很初级。我确信只有一个软件包需要安装。编辑以添加有关设置的其他信息:使用:yum info php 我得到的PHP版本为5.1.6:Name : php Arch : i386 Version : 5.1.6 更多信息,这是一个在GoDaddy运行CentOS的虚拟机:CentOS release 5.4 (Final)