请求协助修复WordPress参数传引用与头部信息修改错误
WordPress报错修复方案
1. 解决title_like_posts_where()和title_filter()传参警告
报错原因
这两个函数定义时声明第二个参数$wp_query需要按引用传递,但WordPress钩子系统通过call_user_func_array传值调用,导致类型不匹配触发警告。
修复步骤
- 定位函数定义:在主题的
functions.php或自定义插件文件中找到title_like_posts_where()和title_filter()的代码 - 修改参数声明:将函数里的
&$wp_query改为$wp_query,移除引用符号。示例:// 修改前 function title_like_posts_where($where, &$wp_query) { // 函数逻辑 } // 修改后 function title_like_posts_where($where, $wp_query) { // 函数逻辑 } - 保存文件后刷新网站,警告即可消除
2. 解决Cannot modify header information - headers already sent警告
报错原因
HTTP响应的header必须在任何输出(HTML、空格、echo内容)之前发送,当header发送前有内容输出时就会触发该错误。
修复步骤
- 清理文件多余内容:检查主题
functions.php、自定义插件文件,删除<?php标签前的空格、空行,以及?>标签后的所有内容(建议直接删除?>,PHP文件无需闭合标签) - 检查提前输出的代码:查找是否有在
wp_head、init等钩子之前直接执行echo、print或输出HTML的代码,将这些输出移到合适的钩子中(比如wp_footer) - 排查插件/主题冲突:临时禁用所有插件,逐个启用排查是否是某个插件导致的提前输出;同理切换到默认主题(如Twenty Twenty-Four)排查主题问题
内容的提问来源于stack exchange,提问作者Luis Timoteo
相关产品推荐
相关产品推荐

