我正在创建自定义评论布局,因此我没有使用wp_list_comments()
。我的问题是我似乎无法找到有效地在彼此中显示回复的评论(线程)。
到目前为止,我已经拥有它,因此它只显示最顶层的评论。
<ol class="commentlist">
<?php foreach ($comments as $comment) : ?>
<?php if($comment->comment_parent == 0): ?>
<li class="comment">
<div class="main">
<div class="name">
<?php if(get_comment_author_url()): ?>
<a href="<?php comment_author_url(); ?>"><?php comment_author(); ?></a>
<?php else: ?>
<?php comment_author(); ?>
<?php endif; ?>
</div>
<div class="text"><?php comment_text(); ?></div>
</div>
<div class="info">
<?= get_avatar($comment, $size = '90'); ?>
<div class="month"><?= comment_date('M'); ?></div>
<div class="day"><?= comment_date('dS'); ?></div>
<div class="year"><?= comment_date('Y'); ?></div>
</div>
<div class="clear"></div>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ol>
我知道想要在此评论中显示回复的评论。
答案 0 :(得分:0)
我看过你的代码,我认为对孩子的评论有限制。你有条件,父评论只会显示。
您需要为子注释创建一个或多个类或者CSS,并且还需要在此FOREACH
循环内运行循环并仅显示其中Parent将是
$comment->comment_parent
如果我得到你的疑问,我想我是对的。
感谢。
答案 1 :(得分:0)
我已经找到了在使用自定义布局时如何实现线程注释。
在你的functions.php文件里面放置以下内容
<?php function comment_layout($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>
// Your custom layout here
<?php } ?>
现在,在comments.php文件中,只需将以下内容放在您希望显示注释的位置。
<?php wp_list_comments( array( 'callback' => 'comment_layout' ) ); ?>
这样做是循环所有注释(按正确顺序)并调用自定义布局以显示注释。