首页 WordPress教程 WordPress添加评论引用方法
正文 评论

WordPress添加评论引用方法

嵌套评论可以增加用户的互动,通常将嵌套评论显示在父评论下面,每一层嵌套都缩进一点距离,当嵌套层数多了之后问题就来了,后面的嵌套显示会变得非常短,导致整个界面类似倒立的金字塔,非常难看。

所以我们需要类似论坛的评论引用方式,当用户回复其他用户的评论,该用户的评论不会位于嵌套里,但会引用父评论的内容。

把以下代码丢到主题文件functions.php中:

function bzg_add_comment_text( $comment_content, $comment ) {$post_id = $comment->comment_post_ID;$reply_link = \'<div ><a rel=\"nofollow\"  href=\"\' . get_permalink( $post_id ) . \'?replytocom=\' . $comment->comment_ID . \'#respond\" onclick=\"return addComment.moveForm( \\\'div-comment-\' . $comment->comment_ID . \'\\\', \\\'\' . $comment->comment_ID . \'\\\', \\\'respond\\\', \\\'\' . $post_id . \'\\\' )\" aria-label=\"回复给\' . $comment->comment_author . \'\">回复</a></div>\';$parent_id = $comment->comment_parent;if( ! $parent_id ) {return $comment_content . $reply_link;}$add_text = \'<blockquote ><p >\' . get_comment_author( $parent_id ) . \' 发表于 \' . get_comment_date( \'Y-m-d H:i:s\', $parent_id ) . \'</p><p >\' . get_comment_excerpt( $parent_id ) . \'</p></blockquote>\';return $add_text . $comment_content . $reply_link;}if( ! is_admin() ) {add_filter( \'get_comment_text\', \'bzg_add_comment_text\', 10, 2 );}

这样,每一条评论都允许其他用户回复,并且在回复的评论内容中引用了父级评论摘要,网上现有的实现原理是用JS来获取父评论内容并插入到新评论中,然后保存到数据库,这样有后遗症,本文的方法不会影响数据库,只在页面里输出。

此时可能会发现回复的评论与父评论扎堆出现了,并没有按评论的时间排序,找到主题文件comments.php,如果你的评论内容是用wp_list_comments()函数来输出的,可以这样写:

$comments = get_comments( array(\'orderby\' => \'comment_date\',\'order\' => \'ASC\',\'type\' => \'comment\',) );wp_list_comments( array(\'style\' => \'ol\',\'max_depth\' => -1,\'avatar_size\' => 36,\'format\' => \'html5\',\'type\' => \'comment\',\'reverse_top_level\' => false,), $comments );

大功告成,赶紧去添加CSS样式吧!

-=||=-收藏赞 (0)
更多主题
单栏极简文艺WordPress博客主题:Diaspora主题
¥ 0 关注:20,955
详情
简约黑白WordPress个人博客主题:Personal主题
¥ 0 关注:20,774
详情
v1.0.0
小程序收录免费WordPress主题:XCX主题
¥ 0 关注:20,699
详情
v1.0.0
一款简约单栏的免费WordPress博客主题:itheme主题
¥ 0 关注:18,621
详情
功能丰富切轻量的WordPress虚拟资源主题:Rizhuti主题
¥ 599 关注:18,505
详情
大气优雅免费WordPress博客主题:HONEY主题
¥ 0 关注:15,359
详情
回复
暂无评论

不要再留垃圾评论了,主题君整理资源不容易,留几句鼓励的话吧。