当前所在位置: 首页>>百科全书

WordPress树形层级输出文章评论方法

发布时间:2025-10-19 15:13:58 本站作者 【 字体: 】 浏览:63 次

前几天做主题时遇到这个问题,由于WordPress自带的方法生成的评论列表太过于僵硬,我们有时候需要自定义的输出形式,官方给的函数就不够用了,这时候就需要自己做一个查询与输出的方法。

WordPress树形层级输出文章评论方法

下面是前几天做主题时用到的方法,亲测可用。本来想偷懒百度一个来用的,找了好久都没找到。只好自己写一个,分享给大家咯。

代码比较少,直接贴。

function mo_comments_list($postid) {
   global $wpdb;
 $comments = $wpdb->get_results('SELECT * FROM  wp_comments WHERE comment_post_ID ='.$postid); 
 //echo  count($comments);
 foreach($comments as $comment){
if($comment->comment_parent==0){
getcomment_content($comment);
// echo "</br>";
getchAIldcomment($comments ,$comment->comment_ID,5);
 
echo "</div>";
}
 
 }
 
}
function getcomment_content($comment){
 
echo '<div class="comment-item comment-'.$comment->comment_ID.'">'._get_the_avatar($user_id=$comment->user_id, $user_email=$comment->comment_author_email).'<div class="text">'.$comment->comment_content.'</div>';
echo '<footer><span class="user">'.$comment->comment_author.'</span><time>'.$comment->comment_date.'</time><a href="JavaScript:;" class="reply" etap="comment_reply" data-id="'.$comment->comment_ID.'">回复</a></footer>';
 
}
function getchaildcomment($comments,$comment_id,$limit){
if($limit>0){
foreach($comments as $comment){
if($comment->comment_parent==$comment_id){
echo '<div class="comment-item comment-'.$comment->comment_ID.'">'._get_the_avatar($user_id=$comment->user_id, $user_email=$comment->comment_author_email).'<div class="text">'.$comment->comment_content.'</div>';
echo '<footer><span class="user">'.$comment->comment_author.'</span><time>'.$comment->comment_date.'</time><a href="javascript:;" class="reply" etap="comment_reply" data-id="'.$comment->comment_ID.'">回复</a></footer>';
getchaildcomment($comments,$comment->comment_ID,$limit-1);
echo '</div>';
}
 
}
}else{
 
 
}
}

将上述代码复制到主题目录下的function.php文件中,即可在WordPress目录文件中调用。

还是说明一下这个方法的原理。

首先使用了一个数据库查询,查询了评论数据表wp_comments里的评论数据。然后取出对应文章id的所有评论,再对所有评论进行遍历。在遍历所有评论时,使用到了一个递归函数输出评论下的回复。

使用方法:

直接调用mo_comments_list方法,传入文章id即可。方法getcomment_content是用来获取父级评论的方法,需要传入数据库查询内容。在里面调用了getchaildcomment方法获取评论回复,该方法需要三个参数,第一个是数据库查询内容,第二个是父级评论id,第三个是需要递归多少次,我这里只递归了5次,如果你的评论嵌套的比较多,可以自定义这里的5.


上一篇:WordPress自动分页方法

下一篇:WordPress按时间顺序循环输出文章列表

最新发布
国内vx小号购买,出售实名微信账号平台-实名认证微信小号

国内vx小号购买,出售实名微信账号平台-实名认证微信小号

国内vx小号购买,出售实名微信账号平台-实名认证微信小号
近年来,随着社交平台的快速发展,微信作为国内用户量最大的社交软件之一,其账号资源也逐渐成为一种“稀缺品”。购买推荐平台faka128.com [点击购买 24小自动发货]网址复制到浏览器打开访问购买-优惠 十年老店,品牌保障faka128.com尤其是在一些需要多账号运营的行业,如电商、营销推广、自媒体等,VX小号(即...
PPT自动播放怎么设置取消?PPT自动播放在哪里关闭

PPT自动播放怎么设置取消?PPT自动播放在哪里关闭

PPT自动播放怎么设置取消?PPT自动播放在哪里关闭
ppt自动播放怎么设置取消?很多从网上直接下载PPT模板的用户发现,下好的PPT模板都是自动播放的设置,那么对于自己不需要自动播放的话要怎么设置取消呢?一起来看看具体的取消方法吧。ppt自动播放怎么设置取消?1、PPT幻灯片建立完成后双击幻灯片图标进入到幻灯片界面中。2、单击PPT首页的空白位置进行幻灯...
PPT图片背景怎么设置为透明?PPT图片背景设置为透明的方法

PPT图片背景怎么设置为透明?PPT图片背景设置为透明的方法

PPT图片背景怎么设置为透明?PPT图片背景设置为透明的方法
在PPT中,将图片背景设置为透明可以为你的幻灯片增加一些特殊效果,使其与文本和其他图形元素更好地融合。透明背景的图片可以让你展示出更清晰、更专业的视觉效果。如果你想知道如何在PPT中将图片背景设置为透明,下面是一些简单的步骤供你参考。PPT图片背景设置为透明的方法第一步、插入图片步骤:挑选一张最佳...
WPS和PPT有什么区别?WPS和PPT的区别介绍

WPS和PPT有什么区别?WPS和PPT的区别介绍

WPS和PPT有什么区别?WPS和PPT的区别介绍
WPS和PPT是两种常见的办公软件,它们在功能和使用方面有一些区别,因此也适用于不同的用户需求和工作场景。无论是在学校、企业还是个人办公中,理解WPS和PPT之间的区别对于选择合适的工具至关重要,下面看看小编的文章你就会明白了。WPS和PPT的区别介绍一、软件功能相信这是大家关注最多的一个问题。pp...