我正在本地计算机上为WordPress 3.5.1编写自定义模板。我来到了需要添加评论的部分, 因此我在index.php页面中添加了以下内容
<?php comments_template(); ?>我还包括了<?php wp_footer();? ?>和
<?php wp_header(); ?>支持WordPress插件。但是, 当我检出页面时, 我看不到任何注释, 即使是默认注释(我也检查了它是否存在于数据库中)。我有什么想念的吗?什么会影响评论的显示?我是否需要包括一些其他内容?
这也是一个具有静态内容的单页网站(我编辑了页眉和页脚以显示诸如标题, 元数据等的动态内容。但是由于它是1页的网站, 因此我决定使用静态内容, 不确定是否可以做一些事情问题)。因此, 在服务器index.php上有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();
}
}
这应该显示你选择的帖子的评论。
如果尚未在页面上加载评论, 则可能需要排队。
http://codex.wordpress.org/Class_Reference/WP_Query
#2
你是否在单个页面上调用了The Loop?否则, WordPress无法查询评论, 因为它们都附加到特定的帖子ID。 WordPress还需要知道特定帖子的评论是打开还是关闭, 然后才能显示表单。
你的静态内容应存储在WordPress页面中, 并且注释设置为on。你可以将该页面定义为”设置”中的首页。 (设置->阅读->”首页显示静态页面”)。在模板页面上, 你将使用模板标签输出内容。
<?php if(have_posts():
while(have_posts()):
the_post(); ?>
\\ output goes here
<?php comments_template(); ?>
<?php endwhile();
endif; ?>
评论前必须登录!
注册