WordPress无插件实现文章目录功能 可多级目录
![]() | ![]() | ![]() | ![]() |
| 【性价之王】 | 【线路之王】 | 【价格之王】 | 【配置之王】 |
| 【免费之王】 | 【香港首推】 | 【梯子之王】 | 【独服之王】 |

蜗牛在前面文章中有分享过Easy Table of Contents创建可以实现WordPress程序网站文章、页面内容目录功能,就好比我们看到的书目录一样,用户可以较为方便且快速的检索到需要的内容位置。在前面有较为完整的测试到这个插件而且还是相当好用且功能强大的。
但是,从网上搜索到很多关于文章目录功能的文章,其实对于这个功能使用一个插件,而且插件里文章还不少,对于可能存在的安全问题或者是在添加插件后我们可以看到页面增加的调用脚本、样式还是不少的,使得为了加这一个功能网站变得臃肿很多。有点强迫症的我肯定不允许这样的问题存在,要么就不去使用。这里蜗牛再去试试上网其他网友提供的无插件版本。
这里蜗牛找到来自露兜博主的文章(https://www.ludou.org/wordpress-content-index-plugin.html),觉得这个功能还是不错的,添加到博客中发现还是比较美观,虽然功能不如插件方式自动化和强大,但是基本的目录功能还是够用的。
文章目录
隐藏
第一、单级目录脚本
第二、多级目录脚本
第三、CSS样式定义
第一、单级目录脚本function article_index($content) {
$matches = array();
$ul_li = \\’\\’;
$r = \\”/<h3>([^<]+)<\\\\/h3>/im\\”;
if(is_singular() && preg_match_all($r, $content, $matches)) {
foreach($matches[1] as $num => $title) {
$title = trim(strip_tags($title));
$content = str_replace($matches[0][$num], \\\'<h3 id=\\”title-\\’.$num.\\’\\”>\\’.$title.\\\'</h3>\\’, $content);
$ul_li .= \\\'<li><a h=\\”#title-\\’.$num.\\’\\” title=\\”\\’.$title.\\’\\”>\\’.$title.\\”</a></li>\\\\n\\”;
}
$content = \\”\\\\n<div id=\\”article-index\\”>
<strong>文章目录</strong>
<ul id=\\”index-ul\\”>\\\\n\\” . $ul_li . \\”</ul>
</div>\\\\n\\” . $content;
}
return $content;
}
add_filter( \\’the_content\\’, \\’article_index\\’ );
//文章目录
function article_index($content) {
$matches = array();
$ul_li = \\’\\’;
$r = \\’/<h([2-6]).*?\\\\>(.*?)<\\\\/h[2-6]>/is\\’;
if(is_single() && preg_match_all($r, $content, $matches)) {
foreach($matches[1] as $key => $value) {
$title = trim(strip_tags($matches[2][$key]));
$content = str_replace($matches[0][$key], \\\'<h\\’ . $value . \\’ id=\\”title-\\’ . $key . \\’\\”>\\’.$title.\\\'</h2>\\’, $content);
$ul_li .= \\\'<li><a h=\\”#title-\\’.$key.\\’\\” title=\\”\\’.$title.\\’\\”>\\’.$title.\\”</a></li>\\\\n\\”;
}
$content = \\”\\\\n<div id=\\\\\\”article-index\\\\\\”>
<strong>文章目录</strong>
<ul id=\\\\\\”index-ul\\\\\\”>\\\\n\\” . $ul_li . \\”</ul>
</div>\\\\n\\” . $content;
}
return $content;
}
add_filter( \\’the_content\\’, \\’article_index\\’ );
第一个脚本来自露兜自己发布的,第二个来自网友的改良可以多级目录,一般网站直接单级也是够用的。我们可以将脚本添加到当前主题Functions.php文件中。
第三、CSS样式定义#article-index {
-moz-border-radius: 6px 6px 6px 6px;
border: 1px solid #DEDFE1;
float: right;
margin: 0 0 15px 15px;
padding: 0 6px;
width: 200px;
line-height: 23px;
}
#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;
}
然后根据实际页面,需要调整CSS样式,不同网站自带CSS可能有冲突,我们需要再微调。
这样,我们可以实现无插件使得WordPress网站具有内容目录向导的功能。
猜你可能想看的VPS
- 共勉关于带宽 满速 专线等的实在话全球[VPS测评]
- DMIT→$140 年 1GB 内存 10GB SSD 空间 1TB 流虚拟空间(主机)
- 便宜 VPS $12 年 4G 内存 20G SSD 4T 流量 1Gb全球[VPS测评]
- 傲闪云五一促销,全场云服务器买一送一,充值送 888,香港 美国 国内云美国VPS[主机]
- [黑五]TMThosting 全场 VPS 五五折 1.62 美元起 虚全球[VPS测评]
- 搬瓦工 CN2 GIA 购买技巧 通过升降配置购买搬瓦工低价的 CN2 全球[VPS测评]
- HKServerSolution→999 元 月 E3-1230v3 1全球[VPS测评]
- 通过whos.amung.us实时统计WordPress博客在线人数全球[VPS测评]
- 知更鸟Begin主题代码实现外链转内链并base64加密全球[VPS测评]
- 使用测速脚本对国外VPS服务器进行测速全球[VPS测评]
- Oneinstack一键开启安装ngx_lua_waf防火墙功能全球[VPS测评]
- WordPress 5.2 Beta1发布测试,新增古腾堡编辑器区块管理全球[VPS测评]
- Creanova → 芬兰VPS 10欧每月 3C6G90G硬盘 不限流全球[VPS测评]
- Master cz → 12€ 月 1C2G80G SATA 捷克VPS全球[VPS测评]
- wikihost,微基主机:1核/1G/15G/100Mbps/香港vp香港VPS[主机]
- RFCHost:1核1G洛杉矶vps/15GB空间/1TB流量/KVM/虚拟空间(主机)
- Aoyohost:1核1GB/20GB/600GB流量/60Mbps端口香港VPS[主机]
- 企鹅小屋:香港VPS限时3折优惠,香港沙田CN2,原生IP,年付486.香港VPS[主机]
- wordpress 上传附件报错 “抱歉,出于安全的考虑,不支持此文件类全球[VPS测评]
- 傲闪云vps,1核1G低至10元起,国内高防/香港CN2/美国CN2/美美国VPS[主机]
- 磐逸云:深圳/大连/成都/香港机房vps,1核1G3M仅26元/月,65香港VPS[主机]
- 蓝米云:美国cera vps/香港cn2vps套餐,1核2G/40G/1美国VPS[主机]
- 华为S2300 系列交换机如何修改密码?全球[VPS测评]
- “休闲养蜂”风靡海外跨境电商追逐垂直风口全球[VPS测评]
- 持续高温!长沙所有初中新生停止军训!全球[VPS测评]
- 天生云:香港CN2VPS/2核/4G/100G硬盘/4Mbps不限流量,香港VPS[主机]
- 个人如何做跨境电商?全球[VPS测评]
- DiyVM:香港/日本/美国vps低至5折,2G内存月付69元起;香港服日本VPS[主机]
- 腾讯云轻量应用服务器128元/年,香港免备案vps/30M大带宽/100香港VPS[主机]
- 企鹅小屋怎么样?深港IPLC专线销售 500M大带宽/2核1G内存/55全球[VPS测评]
转载请注明原文地址:http://140.238.13.167:12355/read-142777.html











