主题、插件或服务器在init钩子触发之前输出html,如何才能防止这种情况

时间:2011-11-02 作者:CommentLuv

我有一个插件,可以检测init hook期间发出的请求的useragent,如果它与我想要的值匹配,我会设置一个标志,以便在found\\u posts过滤器期间发送我自己的xml内容,而不是主题发送的html。

问题是,在少数几个罕见的网站上,主题在我的插件发送自己的内容之前发送一些内容,这导致调用的外部网站出现xml错误,因为在我的插件发送的位之前有非xml代码。

我已经尝试将主题安装到我的本地服务器上,但问题没有发生,一切都是ticketyboo!因此,我只能想象这与网站所在的服务器有关。只有当有人将主题设置为使用自定义主页时,才会出现这种情况。

这可能是什么原因造成的?

如果我使用firefox的useragent switcher插件,并将其设置为使用新的useragent“Commentluv”,然后访问http://willtaft.com 这显示了xml错误。查看页面的源代码显示,我的插件在大多数主题内容输出之前都不会发送其内容

如果我查看http://willtaft.com/blog/ 使用firefox设置发送“Commentluv”用户代理,然后一切正常,我可以看到插件发送的xml。

这快把我逼疯了!我无法在我的任何网站上复制这个问题,它只发生在极少数网站上,然后,只有使用自定义主页的网站。

我甚至尝试在初始化阶段使用输出缓冲区,如果它检测到Commentluv useragent正在请求页面并在我的插件发送xml之前将其清除,但即使这样也无法在有问题的站点上工作。

我很想听听你的建议

1 个回复
SO网友:fuxia

钩入\'plugins_loaded\', 这应该足够早了。在此阶段无法发送主题输出,因此您应该是安全的—如果您真的只需要用户代理。

结束