0

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

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

4

2 回答 2

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

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

comment-reply如果您的页面上尚未加载,您可能需要排队。

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

于 2013-02-09T22:10:36.330 回答
1

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

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

<?php if(have_posts():
while(have_posts()):
    the_post(); ?>
    \\ output goes here
<?php comments_template(); ?>
<?php endwhile();
endif; ?>
于 2013-02-09T22:02:30.870 回答