注释不会显示在自定义模板中

时间:2013-02-09 16:46:21

标签: php html wordpress wordpress-theming

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

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

2 个答案:

答案 0 :(得分:1)

您是否在单页上调用了The Loop?如果没有,WordPress无法查询评论,因为它们都附加到特定的帖子ID。 WordPress还需要知道该特定帖子的评论是否在显示表单之前打开或关闭。

您的静态内容应存储在WordPress页面中,注释设置为on。您将该页面定义为“设置”中的首页。 (设置 - &gt;阅读 - &gt;“首页显示静态页面”)。在模板页面上,您将使用template tags输出内容。

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

答案 1 :(得分:1)

  

有没有办法与某个帖子相关联?

您需要查询所需的帖子并构建循环。这真的很简单。

$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();
  }
}

这应该会显示您选择的帖子的评论。

You may need to enqueue comment-reply如果您的页面上尚未加载。

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