在WordPress中,comments_template()
函数用于加载评论模板。这个函数通常在主题的 single.php
或 page.php
文件中使用,以便在单个文章或页面下方显示评论列表。
以下是如何使用 comments_template()
函数的基本步骤:
-
首先,确保你的主题文件(通常是
single.php
或page.php
)中有适当的WordPress循环(Loop)来显示文章或页面内容。 -
在循环之后,你可以调用
comments_template()
函数来加载评论模板。通常,这会放在while ( have_posts() ) : the_post();
循环的末尾。
下面是一个示例代码,展示如何在 single.php
文件中使用 comments_template()
:
<?php
get_header(); // 获取页眉模板
if ( have_posts() ) {
while ( have_posts() ) {
the_post(); // 循环开始,设置当前文章
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
</header>
<div class="entry-content">
<?php the_content(); ?>
</div>
<?php
// 如果文章有分页链接,则显示它们
wp_link_pages( array(
'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'textdomain' ),
'after' => '</div>',
) );
?>
</article>
<?php
// 加载评论模板
if ( comments_open() || get_comments_number() ) {
comments_template();
}
}
} else {
// 如果没有文章,可以显示一个消息
?>
<p><?php esc_html_e( 'Sorry, no posts matched your criteria.', 'textdomain' ); ?></p>
<?php
}
get_sidebar(); // 获取侧边栏模板
get_footer(); // 获取页脚模板
?>
在上面的代码中,comments_template()
被放在了文章内容 (the_content()
) 显示之后。通过 if ( comments_open() || get_comments_number() )
条件检查,确保只有在评论开启或者已经有评论的情况下才加载评论模板。
请注意,textdomain
应该替换为你主题的文本域,用于国际化支持。
如果你想要自定义评论模板,你可以创建一个名为 comments.php
的文件在你的主题目录中。WordPress会自动寻找这个文件来显示评论。如果你需要针对不同类型的帖子使用不同的评论模板,你可以通过 comments_template()
函数的参数来指定不同的模板文件路径。例如:
comments_template( '/path/to/your/custom-comments-template.php' );
请确保你的自定义评论模板遵循WordPress的文件命名约定,并且包含了必要的WordPress评论循环结构。