我编写了一个与外部ReST API配合使用的插件。可以获得一组JSON格式的帖子,以HTML格式呈现帖子列表。现在我想扩展它,为相关文档(大多数情况下是pdf文件)提供下载链接。理论到此为止。
对于另一个PHP CMS,我编写了一个代理类。此类请求API并获取文档的二进制内容。我正在使用ob_clean()
清除输出缓冲区。我为设置了新标题Content-Disposition: attachment; filename=...
, Content-Type
等等为了获取文档,我正在使用curl。它工作得很好。但不是在WordPress中:
Cannot modify header information - headers already sent by (output started at /Users/sebastian/php_workspace/wordpress/wp-includes/admin-bar.php:792) in /Users/sebastian/php_workspace/wordpress/wp-content/plugins/bibsonomy-csl/lib/bibsonomy/CurlHttpRequestProxy.php on line 68
我尝试了不同的方法来删除输出缓冲区,但没有成功。我试过:
while ( ob_get_level() ) {
ob_end_clean();
}
我还尝试使用PHP的
header_remove()
作用什么都不管用。
如何在WordPress中删除输出缓冲区?