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

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

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

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

最新发布
Office2024激活密钥分享,2026年Office 2024专业增强版密钥分享

Office2024激活密钥分享,2026年Office 2024专业增强版密钥分享

Office2024激活密钥分享,2026年Office 2024专业增强版密钥分享
Office2024激活密钥分享:2026年Office 2024专业增强版密钥分享产品密钥:604C7-MN692-PBMVK-7GYQ8-Q7DTD类型描述:Office_ProPlus2024VL_MAK_AE2错误代码:在线密钥剩余次数:138288产品密钥:XYNT8-B0HK4-3VHM-T8PHJ-4VY20类型描述:Office_ProPlus2024VL_MAK_AE2错误代码:在线密钥剩余次数:138288产品密钥:74]MX-0NM6T_YDVF2-P...
visio 2016 永久激活密钥 visio 2016专业版激活码 正版 visio 2016 零售版产品密钥

visio 2016 永久激活密钥 visio 2016专业版激活码 正版 visio 2016 零售版产品密钥

visio 2016 永久激活密钥 visio 2016专业版激活码 正版 visio 2016 零售版产品密钥
有用户找小编要最新 visio 2016 激活密钥,visio 2016 是一个独立组件,如果安装了正版 visio 2016 专业版,需要 visio 专业版 2016 密钥激活。激活 visio 2016 有两种秘钥,一种是 visio 2016 永久激活码,一种是 visio2016 kms 安装密钥,kms 激活密钥是半年期限,但是永久免费使用。这边小编为...
office2016专业增强版密钥,office2016专业版激活秘钥分享(亲测可用)

office2016专业增强版密钥,office2016专业版激活秘钥分享(亲测可用)

office2016专业增强版密钥,office2016专业版激活秘钥分享(亲测可用)
office2016专业增强版是一款办公必备软件,而在安装完成之后,都是需要通过官方提供的激活密钥来进行激活认证,但是如果没有激活的话只有30天试用期,期限一过就不能用了,为此,小编这就给大家分享一下office2016专业增强版激活密钥及最新激活码供大家参考,同时支持32位和64位。说明:因为密钥的特性不能保证100%激活,此...
Office2016激活密钥,Office2016专业版/家庭和学生版密钥

Office2016激活密钥,Office2016专业版/家庭和学生版密钥

Office2016激活密钥,Office2016专业版/家庭和学生版密钥
Office2016是现在大家主要使用的Office版本,当然了在安装完成之后最重要的是激活,网上有非常多的Office2016激活具,但是如果你不喜欢KMS激活,那么可以看看这里有没有你需要的Office2016永久激活MAK KEY密钥。本站时刻保持更新。<img alt="【最新】Office2016激活密钥" office2016专业版="" 家庭和...