WordPress在文章列表中显示评论

有时候我们想在首页每篇日志下像文章页single那样显示评论,但是 comments_template()直接放首页没有反应的。那么该如何实现呢?在WordPress主题的文章调用循环内,即 while (have_posts()) : the_post(); 和 endwhile; 之间适当位置,添加代码如下:

<?php
    global $withcomments;
    $withcomments = true;

    // 包含评论模板文件,自定义
    comments_template("/mobantu-comments.php");
?>

实现原理很简单,我在以上代码的第2行声明我将使用全局变量$withcomments,并将其值改成true。接着第6行包含用于在首页显示评论的模板inline-comments.php,为什么不使用默认的评论模板comments.php呢?

其实不管什么东西都有其适用范围,一般WordPress主题中的comments.php都是专门为文章single和页面page定制的,如果把它硬套到主页上,似乎会觉得很别扭,如果你想在首页显示各文章的评论,就给首页定制个显示评论的模板吧!

如想使用默认评论模板comments.php,第6行改成comments_template();

以上方法可以推广到分类页、标签页、日期归档页等文章列表页!