WordPress主题 利用纯代码添加文章目录功能

网上已经有插件支持目录生成,但是我们的原则是:能不插件绝不插件。

将以下代码加入到主题 functions.php 中

// 文章内容添加文章目录
function content_index($content) {
  if(is_single()){
   $matches = array();
    $ul_li = '';
    $r = "/<h2>([^<]+)</h2>/im";
    if(preg_match_all($r, $content, $matches)) {
        foreach($matches[1] as $num => $title) {
            $content = str_replace($matches[0][$num], '<h2 id="title-'.$num.'">'.$title.'</h2>', $content);
            $ul_li .= '<li><a href="#title-'.$num.'" title="'.$title.'">'.$title."</a></li>n";
        }
        $content = "n<div id="article-index"><h3><span>文章目录</span></h3>
                <ul id="index-ul">n" . $ul_li . "</ul>
            </div>n" . $content;rn    }
}
    return $content;
}
add_filter( "the_content", "content_index", 13 );
// 如果手机端不想显示的话,可以使用(二选一)
if ( !wp_is_mobile()){
	add_filter( "the_content", "content_index", 13 );
}

CSS样式文件:

图片[1]-WordPress主题 利用纯代码添加文章目录功能-99资源网
© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论