WordPress Divi主题评论及评论框不显示问题排查求助
你已经完成常规排查步骤,结合当前前端仅显示JetPack轮播相关元素的情况,可以从以下方向深入检查:
排查JetPack插件干扰:
前端出现的jp-carousel-comments元素说明JetPack的Carousel功能可能影响了评论模板加载。进入JetPack设置的「媒体」板块,关闭图片轮播相关选项后测试;或暂时完全禁用JetPack,确认评论是否恢复——即使之前启用过安全模式,也可能存在JetPack特定功能的残留影响。检查主题functions.php及钩子修改:
查看当前主题(含子主题)的functions.php文件,确认是否存在以下代码:- 用
remove_action('et_after_post', ...)移除了评论模板的触发动作 - 用
add_filter('comments_template', ...)替换了默认评论模板路径 - 用
add_filter('comments_open', ...)或add_filter('get_comments_number', ...)篡改了评论状态的返回值
- 用
验证评论条件判断的实际值:
在single.php的评论代码块前添加调试代码,输出关键判断值,确认条件是否真的满足:// 临时添加调试代码,可查看前端输出或PHP错误日志 error_log('Comments open: ' . (comments_open() ? 'true' : 'false')); error_log('Comment count: ' . get_comments_number()); error_log('Divi show comments: ' . et_get_option('divi_show_postcomments', 'on'));若某一项不符合预期(比如
comments_open()返回false),说明有代码篡改了这些值。检查Divi Theme Builder自定义模板:
若使用Divi的Theme Builder创建了自定义单文章模板,进入Theme Builder编辑该模板,确认是否:- 未添加「评论」模块
- 模板中设置了隐藏评论的选项
- 自定义模板覆盖了默认
single.php的评论调用逻辑
确认评论模板的实际加载路径:
WordPress默认加载当前主题根目录的comments.php,但如果有代码修改了模板路径,会导致加载错误。添加以下过滤钩子查看实际加载的模板:add_filter('comments_template', function($template) { error_log('Loaded comment template path: ' . $template); return $template; });查看PHP错误日志,确认路径是否指向你检查过的
comments.php文件。检查文章级别的评论设置:
进入单篇文章的编辑页面,在右侧「文档」面板的「讨论」选项中,确认是否勾选了「允许评论」——即使全局评论设置开启,单篇文章也可能被单独关闭评论。
内容的提问来源于stack exchange,提问作者Maria Czekaj

