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

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

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

前几天做主题时遇到这个问题,由于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按时间顺序循环输出文章列表

最新发布
酱骨架的家常做法

酱骨架的家常做法

酱骨架的家常做法
材料骨架,盐,老抽,白酒做法1.骨架用盐和少许老抽,白酒腌制.不加水2.把腌制好的骨架扔进高压锅,中火,上气后调小火五分钟,关火,焖一会儿再打开锅盖3.接下来要做的就是啃了,喜欢喝酒可以一边喝酒一边啃,很爽吧...
咕噜肉最正宗的做法

咕噜肉最正宗的做法

咕噜肉最正宗的做法
咕噜肉又称甜酸肉或咕咾肉,是广东的一道汉族传统名菜,属于粤菜,以甜酸汁及猪肉煮成。这道菜是欧美人士最熟悉的中国菜之一,因此广见于中国以外的唐人街的餐馆。咕噜肉的主料去皮五花猪肉500克,熟鲜笋肉150克,鸡蛋液30克,辣椒25克,葱段5克,蒜泥,芝麻油各5克,精盐1.5克,汾酒7.5克,湿淀粉40克,干淀粉...
东坡肉最正宗的做法

东坡肉最正宗的做法

东坡肉最正宗的做法
东坡肉(滚肉、红烧肉)是杭州名菜,用猪肉炖制而成。其色、香、味俱佳,深受人们喜爱。慢火,少水,多酒,是制作这道菜的诀窍。一般是一块约二寸许的方正形猪肉,一半为肥肉,一半为瘦肉,入口香糯、肥而不腻,带有酒香,色泽红亮,味醇汁浓,酥烂而形不碎,十分美味。东坡肉的材料猪五花肋肉1000克,葱100克,冰糖...
木须肉最正宗的做法

木须肉最正宗的做法

木须肉最正宗的做法
一点鸡蛋,一点黄瓜,少许肉片,就能做出我很喜欢吃的木须肉了。木须肉的材料猪肉150克,鸡蛋2个,黄瓜50克,木耳5克,葱花、姜末、盐、料酒、香油、味精、淀粉各适量木须肉的做法1.将鸡蛋打入碗中,先取少量蛋清放入一个干净的碗中,再用筷子将剩下的鸡蛋搅打均匀。2.猪肉洗净切成薄片,用刚才预留的...