正在下载生成的XML文件

时间:2015-04-23 作者:Stefano Mtangoo

我正在制作一个小部件,它以下拉列表的形式向用户显示类别。当用户选择类别并按下载时,我想获取类别下的所有帖子并下载它们。我在下载时遇到了一个问题。我做了一些

$xml = \'\'; //generated XML with Simple XML
header(\'Content-type: text/xml\');
header(\'Content-Disposition: attachment; filename="text.xml"\');
echo $xml->asXML(); 
我已经收到了邮件头。所以我用代码向init添加了缓冲:

add_action(\'init\', \'do_output_buffer\');

function do_output_buffer() {
        ob_start();
}
在我的MY_Widget::widget() 我添加代码echo ob_get_clean(); 之后echo $xml->asXML(); 如上所述。除了将整个页面(使用我的XML)导出为单个XML文件外,它在这里工作。

有没有办法下载文件而不包括整个页面?

1 个回复
最合适的回答,由SO网友:Stefano Mtangoo 整理而成

我只需要清理缓冲区,然后做我的工作,然后打电话退出

ob_clean(); //clear buffer
    header(\'Content-type: text/xml\');
    header(\'Content-Disposition: attachment; filename="text.xml"\');
    echo $xml->asXML(); 
exit();

结束

相关推荐

customize footer widgets area

我有一个自定义的页脚小部件区域,它在一行中水平显示最多4个小部件。如果我添加了4个以上的小部件,那么布局就会中断,因为我试图在同一行中显示它。我想让它更灵活,例如有2行(div),我可以在第一行中添加let’s 2 widget,在第二行中添加4个widget。可能我需要的是复制这一个,并制作两个页脚区域。这可能吗?如果可能,我如何实现?下面是我的小部件的实际代码。php: /* Footer Widgets */ $footer_widgets_num = wp_get_sidebars_