无插件实现 wordpress多级文章目录功能的代码

之前文章推荐的 好用的 WordPress文章目录插件 Table of Contents 中有写到如果你要使用 wordpress编写较长内容的文章,为了有利于读者阅读掌握概要,那么文章目录的存在对于长篇幅的文章就显得非常有必要了。

合理的使用文章目录这个功能,可以有效帮助访客快速了解文章的内容结构,优化提高阅读体验。本文就是非插件不用插件以纯代码的方式来实现 wordpress多级文章目录的功能。

wordpress多级文章目录

实现 wordpress多级文章目录功能的代码方法也很简单,将下面的代码添加到当前 wordpress主题的 functions.php 文件中即可:

  1. //wordpress多级文章目录代码 BY jianlove.com
  2. function article_index($content) {
  3. $matches = array();
  4. $ul_li = '';
  5. $r = '/<h([2-6]).*?\>(.*?)<\/h[2-6]>/is';
  6. if(is_single() && preg_match_all($r, $content, $matches)) {
  7. foreach($matches[1] as $key => $value) {
  8. $title = trim(strip_tags($matches[2][$key]));
  9. $content = str_replace($matches[0][$key], '<h' . $value . ' id="title-' . $key . '">'.$title.'</h2>', $content);
  10. $ul_li .= '<li><a href="#title-'.$key.'" title="'.$title.'">'.$title."</a></li>\n";
  11. }
  12. $content = "\n<div id=\"article-index\">
  13. <strong>文章目录</strong>
  14. <ol id=\"index-ul\">\n" . $ul_li . "</ol>
  15. </div>\n" . $content;
  16. }
  17. return $content;
  18. }
  19. add_filter( 'the_content', 'article_index' );

其实现这样的一个功能还是比较简单的,基础原理也就是在文章内容中插进标题标签,然后弄成目录就是了。

使用方法说明:

在编辑文章的时候,切换到 HTML文本模式,将需要添加到目录中的标题用【h2】至【h6】括起来都可以。

上面这段代码只是在文章显示的时候插入文章目录,并不会修改你的文章内容。当然以上代码也不包括样式美化的CSS,所以只添加以上代码,文章目录看起来可能会一片混乱,所以你得自己添加一些 css代码来个性美化一下这个目录。

如果你不会css,可以用下面这个简单的 CSS样式,将以下 css代码放到 wordpress主题目录下的 style.css中就可以了(并不保证每个wordpress网站主题都100%合适):

  1. #article-index {
  2. -moz-border-radius: 6px 6px 6px 6px;
  3. border: 1px solid #DEDFE1;
  4. float: rightright;
  5. margin: 0 0 15px 15px;
  6. padding: 0 6px;
  7. width: 200px;
  8. line-height: 23px;
  9. }
  10. #article-index strong {
  11. border-bottom: 1px dashed #DDDDDD;
  12. display: block;
  13. line-height: 30px;
  14. padding: 0 4px;
  15. }
  16. #index-ul {
  17. margin: 0;
  18. padding-bottom: 10px;
  19. }
  20. #index-ul li {
  21. background: none repeat scroll 0 0 transparent;
  22. list-style-type: disc;
  23. padding: 0;
  24. margin-left: 20px;
  25. }

至此,给 wordpress网站文章添加多级文章目录的功能就已经实现了,以上代码方法可以满足日常基本的编辑需要了,有需求的朋友可以去试试了。当然如果你还是想要功能样式更加丰富的 wordpress文章目录功能,可以看看这些 wordpress文章目录插件说明

 

转载请注明链接地址:荐爱小站 » 无插件实现 wordpress多级文章目录功能的代码

赞 (2) 赏 !

觉得文章有用就打赏一下吧,赠人玫瑰手有余香!

支付宝扫一扫打赏

微信扫一扫打赏