在里面functions.php
我将注释回复排入队列,并定义一个回调函数用于wp_list_comments()
:
function theme_queue_js(){
if (
! is_admin()
&& is_singular()
&& comments_open()
&& get_option(\'thread_comments\')
)
wp_enqueue_script( \'comment-reply\' );
}
add_action(\'wp_print_scripts\', \'theme_queue_js\');
function simple_comment_format($comment, $args, $depth) {
$GLOBALS[\'comment\'] = $comment; ?>
<?php if ( $comment->comment_approved == \'1\'): ?>
<li <?php comment_class(); ?>>
<article>
<time><?php comment_date(); ?></time>
<h4><?php comment_author(); ?></h4>
<?php comment_text(); ?>
<?php comment_reply_link(); ?>
</article>
<?php endif;
}
并且在
comments.php
我将事情保持在最低限度:
<section id="comment-form">
<?php comment_form() ?>
</section>
<?php if ( have_comments() ): ?>
<section class="commentlist">
<h2>Comments!</h2>
<ul>
<?php
wp_list_comments(
\'type=comment&max_depth=5&callback=simple_comment_format\'
);
?>
</ul>
</section>
<?php endif; ?>
除了没有显示任何评论的评论回复链接外,一切正常。关于修改注释的文档通常看起来非常糟糕!谢谢你的帮助
最合适的回答,由SO网友:birgire 整理而成
您应该尝试替换
<?php comment_reply_link(); ?>
使用:
<?php comment_reply_link( $args ); ?>
并确保
$args[\'depth\']
不为零或大于或等于
$args[\'max depth\']
. 会有的
no output 如果不是这样的话。
如果不起作用,可以尝试将注释ID或注释对象作为第二个输入参数添加到comment_reply_link( $args, $comment )
.
还要检查注释是否打开。
Update:
如果我们看看
default callback, 我们看到
comment_reply_link()
结构如下:
comment_reply_link( array_merge( $args, array(
\'add_below\' => $add_below,
\'depth\' => $depth,
\'max_depth\' => $args[\'max_depth\'],
\'before\' => \'<div class="reply">\',
\'after\' => \'</div>\'
) ) );
在那里我们可以看到
depth
和
max_depth
包括。