在WordPress插件中打开输出缓冲

时间:2012-04-25 作者:John Hunt

我的wordpress插件使用会话来处理各种事情,在生产站点上,我正在测试它的输出缓冲默认情况下是不启用的,因此我收到了很多这样的消息:

Warning: session_start() [function.session-start]: 
Cannot send session cookie - 
headers already sent by 
(output started at /blah/wp-content/themes/Starkers/header.php:12) 
in /blah/wp-content/plugins/rsq/store.php on line 4
是否有一个钩子或其他东西可以锁定以打开输出缓冲?我这样做是完全错误的吗?

谢谢,约翰。

1 个回复
SO网友:John Hunt

虽然我意识到这可能不是正确的方法,但我还是设法在插件中使用以下代码打开了输出缓冲:

add_action(\'init\', \'rsq_buffering\');
function rsq_buffering()
{
    ob_start();
}
我可能应该在init钩子中做任何会话内容,而不是到处做。

结束

相关推荐

Communicate between plugins

我已经创建了两个WordPress插件。如果两个插件都安装了,那么这两个插件之间就可以进行一些有益的合作。那么我的问题是:让他们合作的最佳方式是什么?如何检测某个插件是否已启用?如何传输信息?我想我可以用globals,但有更好的方法吗?