如何解决WordPress自定义外观时的Trying to get property of non-object错误
WordPress自定义izer触发Notice错误的排查方案
报错信息
Notice: Trying to get property 'post_status' of non-object in /home/u4/domains/pecheperle.be/public_html/clone/wp-admin/includes/template.php on line 2302 Notice: Trying to get property 'ID' of non-object in /home/u4/domains/pecheperle.be/public_html/clone/wp-admin/includes/template.php on line 2306 Notice: Trying to get property 'post_status' of non-object in /home/u4/domains/pecheperle.be/public_html/clone/wp-admin/includes/template.php on line 2310
排查步骤
- 彻底禁用所有缓存工具:停用并删除缓存插件,同时检查服务器端是否有CDN、OPcache等缓存,全部暂时关闭,清理浏览器缓存后再尝试打开自定义izer。
- 修复WordPress核心文件:进入后台「仪表盘」→「更新」,点击「重新安装WordPress」(仅修复核心文件,不会删除站点内容),解决template.php文件可能存在的损坏问题。
- 清理数据库关联残留:
- 进入「设置」→「阅读」,确认「首页显示」选择的页面是存在的(若设置了静态首页);
- 进入「外观」→「菜单」,检查所有菜单项是否关联了已删除的页面/文章,有则删除或替换为有效内容;
- 通过phpMyAdmin打开数据库,选择对应数据表后点击「检查表」,修复所有标记为损坏的数据表。
- 启用调试日志定位根源:编辑wp-config.php文件,替换原有WP_DEBUG相关设置为以下代码:
触发错误后查看wp-content目录下的debug.log文件,里面的调用栈能帮你找到具体是哪个功能在调用不存在的对象。define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); - 验证主题兼容性:切换到WordPress默认主题(如Twenty Twenty-Four),若错误消失,说明Colormag主题的自定义izer逻辑存在问题,可尝试升级到主题最新版本,或联系开发者获取修复补丁。
内容的提问来源于stack exchange,提问作者ariane
相关产品推荐
相关产品推荐

