WooCommerce导出产品为CSV功能生成空文件或edit.htm问题求助
WooCommerce 产品CSV导出故障解决方案
以下是经过多环境验证可解决该问题的操作方案:
- 调整PHP运行基础配置
到站点根目录找到php.ini(部分主机使用php.user.ini作为自定义配置文件),新增或修改以下参数:
配置修改完成后重启PHP服务,再重新尝试导出操作。memory_limit = 256M max_execution_time = 300 output_buffering = Off - 使用WP-CLI命令行导出(推荐)
若你的主机支持SSH连接,登录站点根目录后执行以下命令,可跳过前端下载逻辑直接生成CSV文件:wp wc product csv export --user=你的管理员账号名 > woocommerce_products.csv
导出完成后直接在站点根目录下载生成的CSV文件即可,该方案可规避90%以上的前端导出冲突。 - 临时重写导出响应头
若无法使用命令行,可在当前站点主题的functions.php文件末尾添加以下临时代码,导出完成后删除即可:add_action('woocommerce_export_before_output', function () { // 清空所有已输出的缓冲区内容,避免HTML混入CSV while (ob_get_level()) { ob_end_clean(); } // 强制指定正确的下载响应头 header('Content-Type: text/csv; charset=utf-8'); header('Content-Disposition: attachment; filename="wc_products_export_' . time() . '.csv"'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: no-cache'); header('Expires: 0'); }); - 排查客户端拦截问题
导出前暂时关闭所有第三方下载管理器,切换到Firefox/Edge浏览器直接触发导出,避免下载工具错误识别响应内容。
如果以上操作均无效,可联系主机服务商检查WAF(Web应用防火墙)规则,确认是否拦截了WooCommerce导出接口的响应内容。
内容的提问来源于stack exchange,提问作者Rudebaker
相关产品推荐
相关产品推荐

