目录
在 WordPress 中,默认的评论输出虽然实用,但样式和结构比较固定。为了更好地契合主题设计和提升用户体验,我们可以通过重写 wp_list_comments()
的回调函数来自定义评论列表的 HTML 结构与样式。本教程将手把手带你完成这一过程,并附带可直接使用的示例代码。
wp_list_comments()
的 callback
WordPress 使用 wp_list_comments()
函数输出评论列表,其中的 callback
参数允许我们定义自己的函数来控制每一条评论的 HTML。
<?php
wp_list_comments([
'callback' => 'my_custom_comments_callback'
]);
?>
以下是一个支持嵌套评论的自定义样式输出函数,可放在你的主题的 functions.php
或自定义插件中:(您可以根据您想要的评论列表结构自定义下面的内容)
function my_custom_comments_callback($comment, $args, $depth) {
$tag = ( 'div' === $args['style'] ) ? 'div' : 'li';
?>
<<?php echo $tag; ?> <?php comment_class('my-comment-item'); ?> id="comment-<?php comment_ID(); ?>">
<div class="comment-avatar">
<?php echo get_avatar($comment, 48); ?>
</div>
<div class="comment-content">
<div class="comment-meta">
<span class="comment-author"><?php echo get_comment_author_link(); ?></span>
<span class="comment-date"><?php echo get_comment_date(); ?> <?php echo get_comment_time(); ?></span>
</div>
<div class="comment-text">
<?php comment_text(); ?>
</div>
<div class="comment-reply">
<?php
comment_reply_link(array_merge($args, [
'reply_text' => '回复',
'depth' => $depth,
'max_depth' => $args['max_depth']
]));
?>
</div>
</div>
<?php
}
在你的主题样式中加入:(您可以根据您自己的需求自定义自己的css)
.my-comment-item {
display: flex;
margin-bottom: 20px;
border-bottom: 1px solid #eee;
padding-bottom: 15px;
}
.comment-avatar {
margin-right: 15px;
}
.comment-content {
flex: 1;
}
.comment-meta {
font-size: 0.9em;
color: #666;
}
.comment-text {
margin-top: 5px;
}
.comment-reply {
margin-top: 10px;
}
ul
或 ol
结构,要确保 style => 'ul'
。paginate_comments_links()
。通过以上方法,你可以完全掌控 WordPress 评论列表的结构与样式,无论是要创建一个极简风格评论区,还是构建富媒体互动型社区评论系统,自定义回调都是关键一步。
WordPress日记主要承接WordPress主题定制开发、PSD转WordPress、WordPress仿站以及以WordPress为管理后端的小程序、APP,我们一直秉持“做一个项目,交一个朋友”的理念,希望您是我们下一个朋友。如果您有WordPress主题开发需求,可随时联系QQ:919985494 微信:18539976310
上一篇:已是最新文章
还没有任何评论,你来说两句吧