代码实现类似大前端DUX WordPress主题评论列表显示楼层
|
![]() |
![]() |
![]() |
| 【性价之王】 | 【线路之王】 | 【价格之王】 | 【配置之王】 |
| 【免费之王】 | 【香港首推】 | 【梯子之王】 | 【独服之王】 |
逛其他童鞋的WordPress网站的时候,发现很多童鞋的评论列表后面的楼层显示第几层。这个功能是怎么实现的了?
比如大前端DUX主题的评论列表就有楼层计数功能。可以到大前端主题文件中看一下人家的写法,毕竟是国内的大佬,值得学习。
该文件位于大前端DUX主题目录下的modules文件夹中,名字叫做mo_comments_list.php:。
function mo_comments_list($comment, $args, $depth) { $GLOBALS['comment'] = $comment; global $commentcount, $wpdb, $post; if(!$commentcount) { //初始化楼层计数器 $page = get_query_var('cpage');//获取当前评论列表页码 $cpp = get_option('comments_per_page');//获取每页评论显示数量 $pcs = get_option('page_comments');//分页开关 $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = $post->ID AND comment_type = '' AND comment_approved = '1' AND !comment_parent"); $cnt = count($comments);//获取主评论总数量 if ( get_option('comment_order') === 'desc' ) { //倒序 if (!$pcs || ceil($cnt / $cpp) == 1 || ($page > 1 && $page == ceil($cnt / $cpp))) { $commentcount = $cnt + 1;//如果评论只有1页或者是最后一页,初始值为主评论总数 } else { $commentcount = $cpp * $page + 1; } }else{ //顺序 if( !$pcs ){ $commentcount = 0; }else{ $page = $page-1; $commentcount = $cpp * $page; } } } echo '<li '; comment_class(); echo ' id="comment-'.get_comment_ID().'">'; if(!$parent_id = $comment->comment_parent ) { echo '<span class="comt-f">#'. (get_option('comment_order') === 'desc'?--$commentcount:++$commentcount) .'</span>'; } echo '<div class="comt-avatar">'; echo _get_the_avatar($user_id=$comment->user_id, $user_email=$comment->comment_author_email); echo '</div>';echo '<div class="comt-main" id="div-comment-'.get_comment_ID().'">';comment_text();if ($comment->comment_approved == '0'){ echo '<span class="comt-approved">待审核</span>'; } echo '<div class="comt-meta"><span class="comt-author">'.get_comment_author_link().'</span>'; echo _get_time_ago($comment->comment_date); if ($comment->comment_approved !== '0'){$replyText = get_comment_reply_link( array_merge( $args, array('add_below' => 'div-comment', 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); // echo str_replace(' h', ' h="javascript:;" data-h', $replyText ); if( strstr($replyText, 'reply-login') ){ echo preg_replace('# class="[\s\S]*?" h="[\s\S]*?"#', ' class="signin-loader" h="javascript:;"', $replyText ); }else{ echo preg_replace('# h=[\s\S]*? onclick=#', ' h="javascript:;" onclick=', $replyText ); } }echo '</div>';echo '</div>';} 内容 1 方法一 2 方法二 2.1 相关文章方法一
像大前端DUX主题一样,在主题目录下建立modules文件夹,然后将上面的代码保存在该文件夹中,再利用如下代码加载到WordPress中。
function _moloader($name = '', $apply = true) { if (!function_exists($name)) { include get_stylesheet_directory() . '/modules/' . $name . '.php'; } if ($apply && function_exists($name)) { $name(); }}加载方式多种多样,直接使用include引用也是可以的。
然后通过_moloader(‘mo_comments_list’, false);来加载上面的代码,最后就是使用了。WordPress提供了评论列表加载方法wp_list_comments函数,该函数可以携带回调函数callback。
wp_list_comments('type=comment&callback=mo_comments_list');上述代码的意思是取出评论数据,并交给回调函数mo_comments_list来处理,mo_comments_list就是上面我们的楼层计数方法,其中包含了输出评论的内容。
方法二
直接将上面的代码写在functions.php文件中,返回在文章页适当位置使用下面代码来调用。
wp_list_comments('type=comment&callback=mo_comments_list');第二个方法无疑是最为简单。但是如果在functions.php中,加入太多的东西难免会显得臃肿。。
[WordPress]历史优惠活动内容
猜你可能想看的VPS
- 文物、沉船、村落!干旱导致大量遗迹重见天日 2022年干旱还要持续多久? 全球[VPS测评]
- 拼多多正筹建跨境电商平台:密集挖角SHEIN员工,零佣金招商入驻 全球[VPS测评]
- 快速云:云服务器和vps区别是什么云服务器和vps哪个比较安全2022- 全球[VPS测评]
- CombCloud,香港沙田cn2vps终身七折起,高质量网络稳定低延迟 香港VPS[主机]
- 亿恩科技香港云服务器 2核2G服务器特价700元/年 香港VPS[主机]
- tudcloud,香港vps终身八折$7.76/月起,1核1G内存,香港 香港VPS[主机]
- 六六云:美国cera机房CN2 GIA高防/香港CN2 GIA建站/CM 美国VPS[主机]
- HostKvm:韩国香港vps10月份最新促销,海外VPS全场八折优惠 韩国VPS[主机]
- 奇异互动,2核4G香港云服务器仅655元/年,注册领550元新手大礼包 香港VPS[主机]
- 纳米云怎么样?纳米云香港vps,4核1G主机价格80元/月 香港VPS[主机]
- OneTechCloud易科云双十二优惠:香港/美国CN2全场VPS季付 美国VPS[主机]
- 彗星云:香港特价vps1核/1G/无限流量/月付仅9元,年付仅75元;国 香港VPS[主机]
- 青叶云怎么样?青叶云国内/国外弹性云服务器价格,海外vps低至25.6元 全球[VPS测评]
- 品光网络:香港美国免备案云服务器超低价,2核2G2M年付仅750元/年 美国VPS[主机]
- 腾讯云轻量应用服务器128元/年,香港免备案vps/30M大带宽/100 香港VPS[主机]
- 阿里云香港服务器多少钱一年?香港阿里云服务器价格表 香港VPS[主机]
- 修罗云:1核/512MB/6GB空间/1TB流量/NAT/KVM/香港H 虚拟空间(主机)
- edgenat:香港vps、韩国vps、洛杉矶vps买1送1,买多久送多 韩国VPS[主机]
- 麻花云:2021新春采购节,香港云主机2折起,安徽BGP高防云机,移动大 香港VPS[主机]
- pigyun:美国VPSCUVIP-AS9929仅16元起,美国原生IP 韩国VPS[主机]
- 云米科技:庆祝愚人节活动,香港CN2 GIA/美国CERA VPS全场9 美国VPS[主机]
- ERP库存管理系统HTML5模板 - DreamsPOS 全球[VPS测评]
- 如何根据业务需求选择合适的云服务器配置? 全球[VPS测评]
- 深圳市城市交通规划设计研究中心股份有限公司关于与腾讯云计算(北京)有限责 全球[VPS测评]
- 播放量破千万,点赞量破百万,你绝对想不到这三款多功能产品居然在TK上卖爆 全球[VPS测评]
- 无忧云怎么样?大连BGP德阳100G高防香港CN2VPS云服务器 香港VPS[主机]
- CombCloud,香港沙田CN2VPS测评,2核1G52元/月,安畅C 香港VPS[主机]
- 碳氧云,香港vps路由调整为沙田cn2,特价款6核6G仅80元/月 香港VPS[主机]
- 傲闪云vps,1核1G低至10元起,国内高防/香港CN2/美国CN2/美 美国VPS[主机]
- 众创逸云:国庆中秋节大促销优惠,不限流量香港CN2线路VPS 5.9元/ 香港VPS[主机]
转载请注明原文地址: http://140.238.13.167:12355/read-224655.html











