TypeCodes

完美实现wordpress评论回复无限嵌套的方法

一般wordpress的主题中的评论回复是可以嵌套使用的,但是一旦某一个人的回复或者评论下面有很多人跟帖的话,那么这种无限嵌套的方法很可能导致网页错位的问题,或多或少也会影响网页的美观。有人可能会想,要是我设置每个评论后面最多跟6个回复,多余的就让它成为新的评论,这样不就解决了吗?是的,本篇文章用的就是这个思想。方法如下:

完美实现wordpress评论回复无限嵌套的方法

1、后台设置最多嵌套层数(例如为6)
2、修改评论回调函数comment_reply_link()

打开主题目录中的functions.php,找到评论回调函数comment_reply_link(),一般类似于以下代码:

1
2
3
<?php
  comment_reply_link(array_merge( $args, array(''reply_text'' => ''[回复]'',''add_below'' =>$add_below, ''depth'' => $depth, ''max_depth'' => $args[''max_depth'']))); 
?>

把上面关于这个函数的代码改成

1
2
3
4
5
6
7
8
<?php 
  if ($depth == get_option(''thread_comments_depth'')) : ?>   <!-- 如果评论深度等于后台设置的层数 -->
    <!-- 将第二个参数改为父一级评论的id -->
    <a onclick="return addComment.moveForm( ''comment-<?php comment_ID() ?>'',''<?php echo $comment->comment_parent; ?>'', ''respond'',''<?php echo $comment->comment_post_ID; ?>'' )" href="?replytocom=<?php comment_ID() ?>#respond" class="comment-reply-link" rel="nofollow">回复</a>

<?php else: ?>   <!-- 正常情况 -->
  <a onclick="return addComment.moveForm( ''comment-<?php comment_ID() ?>'',''<?php comment_ID() ?>'', ''respond'',''<?php echo $comment->comment_post_ID; ?>'' ) " href="?replytocom=<?php comment_ID() ?>#respond" class="comment-reply-link" rel="nofollow">回复</a>
<?php endif; ?>
PS:还有惊喜哟

如果觉得某条评论的回复太多的话,可以考虑给每个回复前面加上@评论人,那么回复就更清晰明了了。方法见下一篇文章:wordpress回复内容前面添加@作者样式

打赏支持

Comments »