评论don';t显示在自定义模板中


Comments don't display in custom template

我正在本地机器上为WordPress 3.5.1编写一个自定义模板。我来到了一个需要添加评论的部分,所以我在我的index.php页面上添加了以下内容
<?php comments_template(); ?>。我还包括了<?php wp_footer(); ?><?php wp_header(); ?>,以支持WordPress插件。但当我检查页面时,我看不到任何评论,甚至是默认的评论(我还检查了它是否存在于数据库中)。我缺什么了吗?什么会影响评论的显示?我需要包括一些额外的东西吗?

此外,它是一个带有静态内容的单页网站(我编辑了页眉和页脚以显示标题、元数据等动态内容,但由于它是一页网站,我决定使用静态内容,不确定是否与此问题有关)。因此,在服务器index.php上有一个页面,用户可以看到,我不确定这是否是问题所在,但这可能与帖子相关的评论有关吗?不过我还是觉得我至少应该在一个页面上看到一个评论表单。

有没有一种方法可以关联到某个职位?

你需要查询你想要的帖子并建立一个循环。这真的很简单。

$args = array(
  'p' => 188 // works on my server; use whatever ID you need
);
$qry = new WP_Query($args);
if ($qry->have_posts()) {
  while ($qry->have_posts()) {
    $qry->the_post();
    comments_template();
  }
}

这应该会为你选择的帖子带来评论。

如果comment-reply还没有加载到您的页面上,您可能需要将其排入队列。

http://codex.wordpress.org/Class_Reference/WP_Query

您是否在单个页面上调用循环?如果没有,WordPress无法查询评论,因为它们都附加到特定的帖子ID上。WordPress还需要知道该特定帖子的评论是打开还是关闭,然后才能显示表单。

你的静态内容应该存储在WordPress页面中,并将注释设置为on。你在"设置"中将该页面定义为首页。(设置->阅读->"首页显示静态页面")。在模板页面上,您将使用模板标记来输出内容。

<?php if(have_posts():
while(have_posts()):
    the_post(); ?>
    '' output goes here
<?php comments_template(); ?>
<?php endwhile();
endif; ?>