WordPress 主题添加文章目录导航

添加一个文章目录在阅读文章的时候,还是很方便的,尤其是适用篇幅较长的文章,本次分享的是目录导航右下角带开关版。

效果演示

核心代码

在 functions.php 中添加创建目录的函数,代码中的目录标签你要以自行定义,这里以 h3 标签为例。

// 文章内容添加文章目录
function content_index($content) {
  if(is_single()){
    $matches = array();
    $ul_li = '';
    $r = "/<h3>([^<]+)</h3>/im";
    $i='1';
    if(preg_match_all($r, $content, $matches)) {
        foreach($matches[1] as $num => $title) {
            $content = str_replace($matches[0][$num], '<h3 id="title-'.$num.'">'.$title.'</h3>', $content);
            $ul_li .= '<li><a class="smooth" href="#title-'.$num.'" title="'.$title.'">'.$i.'.'.$title."</a></li>n";
            $i ++;
        }
        $content = "n<div id="article-index"><i class="fa fa-angle-double-right" ></i><h4>目 录</h4>
                <ul id="index-ul">n" . $ul_li . "</ul>
            </div>n" . $content;
    }
}
    return $content;
}
 
add_filter( "the_content", "content_index", 13 );

js 代码

在 main.js 中添加以下代码,当点击目录时,能平滑移动到相应的位置,添加了一个样式:smooth

//锚点滑动:在href上加上一个样式:smooth        
$(".smooth").click(function(){
var href = $(this).attr("href");
var pos = $(href).offset().top-100;
$("html,body").animate({scrollTop: pos}, 1000);
return false;
});

css代码

样式根据自己的网站风格设置就是。

#article-index {
	position: fixed;
	right: 66px;
	bottom:0px;
	padding: 10px;
	border-radius: 5px;
	z-index: 99999999;overflow:hidden;display:none;opacity:0
}
#article-index i {
	color: #fff;
	font-size: 20px;
	margin-right: 10px;
}
#article-index i:hover{cursor:pointer}
#article-index h4 {
	font-size: 16px;
	color: #fff;
	font-weight: 400;
	margin: 0;
	text-transform: uppercase;
	position: relative;
        text-align:center;display:inline-block
}
 
#article-index ul {
	margin: 10px auto 0;
	padding: 10px;
	max-height: calc(100vh - 178px);max-width:200px;
	overflow-y: auto;overflow-x:hidden;
	background: #fff;
}
#article-index ul li {
	list-style: none;
	margin-bottom: 8px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#article-index ul li a{
    font-size: 12px;}

添加目录

本站显示目录是放在右下侧导航上的,以下代码是显示目录与点击目录上隐藏按钮的 JS

//文章目录按钮
$('#article-index i').click(function(){
    $('#article-index').animate({'bottom':'0','opacity':'0'},600,function(){$(this).css('display','none')});
})
 
$('.wz-index').click(function(){
    $('#article-index').css('display','block').animate({'bottom':'56px','opacity':'1'},600);
})

使用目录

要想在文章中能显示目录,在发表文章时,要含有目录标签,如本站的是 h3,那要写文章时,要有 h3 标签的标题。

参考:《给wordpress文章添加目录导航 最新样式版》

给TA买糖
共{{data.count}}人
人已赞赏
wordpress

WordPress 主题添加文章版权声明

2020-4-11 16:28:34

wordpress

JavaScript 飞雪特效

2020-4-17 12:15:51

⚠️
Golurending上的部份代码及教程来源于互联网,仅供网友学习交流,未经Golurending作者或上传书面授权,请勿作他用。
若您的权利被侵害,请联系站长 邮箱codesns#163.com(#-@) 或 点击右侧 私信:管理员 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索