解决方案实际上非常简单......在阅读了 javascript 的 wordpress 代码之后。我发现问题在于如何创建每个评论块。
基于function.php中的这个函数
//this function will be called in the next section
function advanced_comment($comment, $args, $depth) {
$GLOBALS['comment'] = $comment;
$PostAuthor = false;
if($comment->comment_author_email == get_the_author_email()) {
$PostAuthor = true;}
elseif($comment->comment_author_email == 'mordauk@gmail.com') {
$PostAuthor = true;} ?>
<li <?php if($PostAuthor) {echo "class='authorcomment' ";} ?>
<?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
<div class="comment-author vcard">
<?php echo get_avatar($comment, $size='48',$default='<path_to_url>' ); ?>
<div class="comment-meta"<a href="<?php the_author_meta( 'user_url'); ?>"><?php printf(__('%s'), get_comment_author_link()) ?></a></div>
<small><?php printf(__('%1$s at %2$s'), get_comment_date(), get_comment_time()) ?><?php edit_comment_link(__('(Edit)'),' ','') ?></small>
</div>
<?php if ($comment->comment_approved == '0') : ?>
<div id="moderation"><?php _e('Your comment is awaiting moderation.') ?></div>
<?php endif; ?><br />
<div class="comment-text">
<?php comment_text() ?>
</div>
<div class="reply">
<?php comment_reply_link(array_merge($args, array('depth' => $depth, 'max_depth' => $args['max_depth'])), $comment->comment_ID) ?>
<?php delete_comment_link(get_comment_ID()); ?>
</div>
<div class="clear"></div>
<?php } ?>
我发现错误在于
<?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
通过简单地删除 id 中的“li-”,使其形成 id="comment-"
回复表单现在继续回复。