DUX主题小功能之为文章内容增加目录功能
![]() | ![]() | ![]() | ![]() |
| 【性价之王】 | 【线路之王】 | 【价格之王】 | 【配置之王】 |
| 【免费之王】 | 【香港首推】 | 【梯子之王】 | 【独服之王】 |

wordpress主题DUX还是非常强大的,折腾的也非常多,也有很多折腾的教程。今天分享一篇为文章内容增加目录功能,具体的操作在主题Functions.php文件中加入下面代码 (默认为4级标题索引,可以自行修改,比如将h4改h2,这样就二级标题作为文章目录了)。如果使用的其他主题,请自行修改“if (_hui(‘index_c’)) {}”这段代码。具体的代码如下:
1、在Functions.php添加
复制//小七博客-https://www.xqblog.com//文章目录if (_hui('index_c')) {function article_index($content) {$matches = array();$ul_li = '';$r = "/<h4>([^<]+)<\/h4>/im";if(preg_match_all($r, $content, $matches)) {foreach($matches[1] as $num => $title) {$content = str_replace($matches[0][$num], '<h4 class="title-'.$num.'">'.$title.'</h4>', $content);$ul_li .= '<li><a h="#title-'.$num.'" title="'.$title.'">'.$title."</a></li>\n";}$content = "\n<div id="article-index" class="article-index hidden-xs"><strong class="title">文章目录</strong><ul id="index-ul" class="index-ul">\n" . $ul_li . "</ul></div>\n" . $content;}return $content;}add_filter( "the_content", "article_index" );}2、 CSS代码:在主题目录 css/main.css
复制#article-index{position:relative; z-index:2;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;border:1px solid #DEDFE1;float:right;margin:0 0 15px 15px;padding:0 6px;width:200px;line-height:23px; background: #fff;}#article-index strong{border-bottom:1px dashed #DDDDDD;display:block;line-height:30px;padding:0 4px}#index-ul{margin:0;padding-bottom:10px;}#index-ul li{background:none repeat scroll 0 0 transparent;list-style-type:disc;padding:0;margin-left:20px}.index-more{padding-left:20px;}3、 JS代码,在js/main.js
//滚动到某个位置function scrollTo(ele, speed){if(!speed) speed = 300;if(!ele){$("html,body").animate({scrollTop:0},speed);}else{if(ele.length>0) $("html,body").animate({scrollTop:$(ele).offset().top},speed);}return false;}//右侧滑动到某个位置时,复制文章目录,并添加到侧栏指定标签内“.mulu ul”内,样式保持一致var muluBox = $(".mulu ul");var _html = $(".index-ul").html();if(_html){muluBox.html(_html);//当滚动距离大于侧栏高度和目录的原本高度时,目录才会显示。function resizeWindow(e){if($(window).width()>1000){var sidebarHeight = $(".sidebar").height();//文章滚动的过程中,目录的列表锚点会随着高度的变化而相应的改变,如上图中的图片规范是亮点$(window).scroll(function(){var winScrollTop = $(window).scrollTop();var items = muluBox.find("li");for(var i=0; i<items.length; i++){var anchor = $(".title-"+i);// console.log(anchor);var pos = anchor.offset();var winH = $(window).height();if(pos.top < (winScrollTop+20)){// console.log(i);muluBox.find("li").eq(i).addClass("current").siblings().removeClass();}}if(winScrollTop > sidebarHeight){$(".mulu").show().stop(true,false);}else{$(".mulu").hide();}})}}resizeWindow();//点击目录下边的小按钮可以隐藏目录和展开目录$(window).bind("resize", resizeWindow);$(".mulu-toggle").on("click",function(){var muLu = $(".mulu");$(this).toggleClass("active");if(muLu.is(":visible")) muLu.hide();else muLu.show();})}else{$(".mulu, .mulu-toggle").hide();}var indexUL = $(".index-ul");var indexLi = $(".index-ul li").length;//目录的个数大于7时,收缩起来,点击展开更多后展开,点击收缩起来时,恢复原样if(indexLi >7 ){$(".index-ul li:gt(6)").hide();indexUL.after("<li class='index-more'><a h='#'>展开更多</a>");$(".index-more").on("click","a",function(){var more =$(".index-ul li:gt(6)");var _this = $(this);if(more.is(":visible")){more.hide();_this.text("展开更多");}else{more.show();_this.text("伸缩起来");}return false;})}//点击目录的链接,会跳转到相对应的位置$(".index-ul, .mulu ul").on("click","li",function(){var itemName = $(this).find("a").attr("h").slice(1);$(this).addClass("current").siblings().removeClass();scrollTo("."+itemName,500);return false;})4、 在主题中options.php添加代码
复制 $options[] = array( 'name' => '文章目录', 'desc' => '四级标题作为文章索引目录', 'id' => 'index_c', 'std' => '1', 'type' => 'checkbox');注:位置自己选择添加即可!在添加之前请把相关的文件备份一下!
[dux主题]历史优惠活动内容
猜你可能想看的VPS
- 便宜 $1.75 月 2 核 CPU 3G 内存 50G SSD 3T 全球[VPS测评]
- AuroraCloud→240 元 月 1GB 内存 30GB SSD 虚拟空间(主机)
- Cafe24 便宜韩国 cn2 服务器,韩国高防服务器,香港 cn2 服站群服务器[IP]
- 做站推荐 腾讯云秒杀→香港 2G 套餐年付 249 元 国内 2G 套餐香港VPS[主机]
- 疯狂猜成语 图猜成语一个黑色人站在三个房子旁边还有一个红色箭头是什么成语全球[VPS测评]
- IMIDC→$9 月 KVM-512MB 20GB 300GB 南非 C全球[VPS测评]
- 促销 JGKVM→洛杉矶 CN2 GIA 线路套餐补货 新推出 179 全球[VPS测评]
- Linux 中文乱码的解决办法全球[VPS测评]
- ThinkPHP5 动态创建数据表方法全球[VPS测评]
- SaltyFishTech 劳动节促销,100M 带宽新品德国 cn2v全球[VPS测评]
- 搬瓦工最便宜的美国 cn2vps 补货 Zenlayer CN2 线路 美国VPS[主机]
- hostsolutions→充值多送 50%额度 无视 DMCA 投诉的独立服务器[U]
- 疯狂猜成语 图猜成语一个纸箱和一个由很多纸箱组成的奇字是什么成语?全球[VPS测评]
- 搬瓦工VPS CN2方案和CN2 GIA-E 方案的选购建议全球[VPS测评]
- 如何让WordPress博客变得更加安全全球[VPS测评]
- CheapWindowsVPS五折促销,$4.5起/月;可安装LinuxWINDOWS
- LOCVPS 香港葵湾CN2 中秋国庆双节七折优惠 投稿香港VPS[主机]
- 华凯易佰同比扭亏跨境电商行业回暖H2旺季将至|中报追踪全球[VPS测评]
- ExCloud:1核256M存/8GB SSD空间/100GB流量/OV虚拟空间(主机)
- 疯鱼云怎么样?香港CN2VPS首月14元,续费19元香港VPS[主机]
- 菜单选中标记CSS3动画效果全球[VPS测评]
- 野草云vps怎么样?香港美国vps,1核1G3M带宽,38元/月美国VPS[主机]
- 麻花云双12活动:香港CN2云主机首月9元;安徽移动vps月付29元香港VPS[主机]
- 磐逸云怎么样?CN2线路香港VPS月付20元香港VPS[主机]
- 华凯易佰同比扭亏跨境电商行业回暖H2旺季将至中报追踪全球[VPS测评]
- 麻花云:香港CN2VPS月付19元起,安徽移动8核/16G/20M独服2香港VPS[主机]
- 腾讯云香港服务器优惠价格:4核8G5M新用户1508元,老用户2639元香港VPS[主机]
- 景林网络:香港CN2vps,1核1G3M月付35元;美国高防vps,48美国VPS[主机]
- tudcloud,香港vps终身八折$7.76/月起,1核1G内存,香港香港VPS[主机]
- Aoyohost:1核1GB/20GB/600GB流量/60Mbps端口香港VPS[主机]
转载请注明原文地址:http://140.238.13.167:12355/read-73522.html











