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
- W3Space→$15 年 1GB 内存 25GB SSD 空间 1.5虚拟空间(主机)
- MoonVM→$45 月 2GB 内存 20GB SSD 空间 15TB虚拟空间(主机)
- 景文互联→云服务器全场 8 折 年付内存翻倍 充值 1000 元送 30全球[VPS测评]
- CloudFlare 的 DNS 1.1.1.1 和 新出的免费 Clo全球[VPS测评]
- 可购数据盘 $3.5 月 1G 内存 20G 硬盘 1Gbps 不限量 全球[VPS测评]
- ioncloud→8 折优惠 圣何塞 cn2 云服务器 带 WindowWINDOWS
- SkylonHost→€4.99 月 2 核 3GB 内存 35GB S虚拟空间(主机)
- MySQL 判断字段是否为 Null全球[VPS测评]
- 腾讯地图→提示“鉴权失败 请传入正确的 key”的解决办法全球[VPS测评]
- WordPress通过根据评论数量判断是否显示评论者链接全球[VPS测评]
- 如何合理设计WordPress博客菜单全球[VPS测评]
- edgenat韩国CN2独立服务器促销,原生IP,月付七折,年付买一年送独立服务器[U]
- WordPress博客网站代码实现右键菜单功能修改全球[VPS测评]
- Modern Solutions → 5$ 月 1C1G25G 不限流量美国VPS[主机]
- 自适应bootstrap左侧导航可关闭全球[VPS测评]
- 游戏服务器是什么意思?游戏服务器可以用云服务器吗?全球[VPS测评]
- 菠萝云服务器怎么样?香港云主机BGP、CN2,2核1G2M带宽仅49元/香港VPS[主机]
- UCloud海外云服务器促销:全场1折起,香港cn2vps最低年付150香港VPS[主机]
- 创e云:香港CN2VPS优惠专区,4核/4G/20G/2Mbps不限流量香港VPS[主机]
- anyhk:香港HGC/WTT/HKT线路、台湾HiNet线路NAT套餐香港VPS[主机]
- 酷锐云元旦钜惠:大量香港/美国vps优惠码,香港1核2G云主机仅20元/美国VPS[主机]
- 触摸云:香港BGP/香港CN2/美国GIA高防CN2 GIA云服务器2H美国VPS[主机]
- 加拿大以“国安”为由禁止华为、中兴参与5G建设全球[VPS测评]
- 腾讯云香港/韩国/日本免备案服务器优惠促销活动日本VPS[主机]
- 奇异互动,2核4G香港云服务器仅655元/年,注册领550元新手大礼包香港VPS[主机]
- UCloud全球大促活动:香港2核4G2M仅485元/年(台湾437元/美国VPS[主机]
- 免备案服务器对权重和网站排名有影响吗?全球[VPS测评]
- 2022年黄河流域跨境电商博览会将于8月26日至28日在青岛西海岸新区举全球[VPS测评]
- 2021硅云新年献礼活动:香港企业级云服务器2核4G5M仅2888元/5香港VPS[主机]
- 快云科技:香港CN2VPS,2核/2GB内存/3M独享,仅售14.98元香港VPS[主机]
转载请注明原文地址:http://140.238.13.167:12355/read-142777.html











