我正在本地计算机上为WordPress 3.5.1编写自定义模板。我来到了一个需要添加注释的部分,所以我在index.php页面添加了以下内容<?php comments_template(); ?>
我还包括了<?php wp_footer(); ?>
和<?php wp_header(); ?>
来支持WordPress插件。但是当我检查页面时,我看不到任何评论,甚至是默认评论(我也检查过它存在于数据库中)。有什么我想念的吗?什么会影响评论的显示?我需要包含一些额外的东西吗?
这也是一个带有静态内容的单页网站(我编辑了页眉和页脚来显示标题,元数据等动态内容..但是因为它是1页网站我决定使用静态内容,不确定它是否有与问题有关)。因此,服务器index.php上有1页,用户可以看到,我不确定这是否是问题,但是它可能与帖子相关的评论有关吗?但是我仍然认为我至少应该在页面上看到评论表。
答案 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
如果您的页面上尚未加载。