前面的章节中,我们介绍了基于page页面的wordpress网站导航菜单的函数——wp_list_pages()。今天,我们再来介绍第二种导航菜单的方式——基于wordpress网站的文章分类目录的导航菜单,这种wordpress导航菜单是通过wp_list_categories()函数来实现的,它可以将wordpress网站的分类目录展示在wordpress网站前台的导航菜单中。下面,我们一起来看看如何使用wp_list_categories()来创建wordpress网站导航菜单吧。
wp_list_categories( string|array $args = '' );
这个函数有一个参数,它的参数既可以是字符串类型的数据,也可以是一个数组类型的数据,这点跟wp_list_pages()函数类似。
$args = array('show_option_all' => '',//是否列出分类链接;'orderby' => 'name',//按名称排列;'order' => 'ASC',//分类目录的排序。升、降序;'style' => 'list',//是否用列表(ul>li)标签;'show_count' => 0,//是否显示文章数量;'hide_empty' => 1,//是否显示没有文章的分类;'use_desc_for_title' => 1,//是否显示分类描述;'child_of' => 0,//是否限制子分类 ;'exclude' => '',//排除分类的ID,多个用',(英文逗号)'分隔;'exclude_tree' => '',//排除分类树,即父分类及其下的子分类;'include' => '',//包括哪些分类的ID;'title_li' => 'Categories',//导航菜单的列表标题名称;'show_option_none' =>'No categories',//网站没有分类时显示的标题;'number' => null,//显示分类的数量;'echo' => 1,//是否打印到前台页面显示,1显示,0不显示而是返回字符串;'hierarchical' => true,//是否将子、父分类分级;'depth' => 0,//层级限制;'current_category' => 0,//指定分类ID,在前台页面链接添加current-cat的CSS类,方便修改样式;'pad_counts' => 0,//计算包括子分类的链接或文章数;'taxonomy' => 'category',//使用的文章分类类型;'walker' => null//生成列表 Walker 类;);
以上,我们列举了wp_list_categories()函数的主要的参数,以及它们都代表什么。其实,在我们的实际使用中,并不是每一个参数都会用到,一般情况下,我们只会使用其中的某几个。我们会在下面的案例中具体解说。
案例1:分类目录导航列表按层级来排列。
$menu = array( 'depth' =>0, 'title_li'=>'', 'echo'=>1,);wp_list_categories($menu);
如下图,子分类会按层级的关系,缩进去2格;并且没有显示列表的标题。
案例2:只显示顶级分类,不显示子分类,并显示列表标题。
$menu = array( 'depth' =>1, 'title_li'=>'这是分类列表的标题', 'echo'=>1,);wp_list_categories($menu);
这里,我们把depth参数的值设成1,就表示只显示一级分类目录,子分类就不会显示;如果设成2,就会显示2级分类,子分类就会显示;如果设成3,就会显示3级分类,子分类和子分类的子分类都会显示出来;以此类推。设成0,表示所有分类都显示,并且按层级显示。另外,我们这里也添加了分类菜单的列表标题,这样,如果在侧边伴,这个标题还是非常管用的;如果是顶部导航菜单,这个标题还是省略比较好。效果如下图:
案例3:排除某些分类。也就是不让某些分类显示出来。代码如下:
$menu = array( 'depth' =>1, 'title_li'=>'', 'echo'=>1, 'exclude' => '52,81,103',);wp_list_categories($menu);
这里,我们设置了排除3个分类,它们的ID号分别是:52(亲子),81(养生),103(家居)。这样,我们在wordpress网站的前台页面的导航菜单中就看不到这几个分类目录。如下图,可以对比一下上图:
好了,关于wordpress网站分类目录导航菜单函数wp_list_categories(),这里我们就只举这几个案例,在实际应用中,我们可以根据不同的需求,来设置不同的参数,要做到灵活多变。这些参数还是很好理解的,只需多练习,就可轻松掌握。
#goTopBtn, #goBottom, #shangy, #xiay, #menuPage, #lPage, #fPage{
width: 18px;
line-height: 1.2;
padding: 5px 0;
font-size: 12px;
text-align: center;
position: fixed;
right: 10px;
cursor: pointer;
filter: Alpha(opacity=30);
opacity=.3;
font-weight:bold;
}
#goTopBtn, #goBottom, #menuPage, #lPage, #fPage{
background-color:#999;
color:#000;
}
#shangy, #xiay, #lPage, #fPage{
background-color: #bbb;
color: #000;
}
#fPage{
bottom: 236px;
height:42px;
white-space:nowrap;
overflow:hidden;
//writing-mode:tb-rl;
}
#menuPage{
bottom: 198px;
height:27px;
white-space:nowrap;
overflow:hidden;
}
#lPage{
bottom: 145px;
height:42px;
white-space:nowrap;
overflow:hidden;
}
#goTopBtn{
bottom: 105px;
}
#goBottom {
bottom: 30px;
}
#shangy {
bottom: 80px;
}
#xiay {
bottom: 55px;
}
#goTopBtn:hover, #goBottom:hover, #shangy:hover, #xiay:hover, #menuPage:hover, #lPage:hover, #fPage:hover{
background-color:#ccc;
border:#ccc 0px solid;
}
#goTopBtn a:link, #goBottom a:link, #xiay a:link, #shangy a:link, #menuPage a:link, #menuPage a:visited, #lPage a:link, #fPage a:link, #lPage a:visited, #fPage a:visited {
text-decoration: none;
color:white;
}
<div id="fPage"><a id="fPagea" href="javascript:void(null)" target="_self">上<br />一<br />页</a></div>
<div id="menuPage"><a href="index.html" target="_self">目<br />录</a></div>
<div id="lPage"><a id="LPagea" href="javascript:void(null)" target="_self">下<br />一<br />页</a></div>
<div style="display:none" id="goTopBtn"><a target="_self" style="color:#fff;">∧</a></div>
<div style="display:none" id="shangy">
<a onclick="shangy()" target="_self" style="color:#fff;">↑</a></div>
<div id="xiay">
<a onclick="xiay()" target="_self" style="color:#fff;">↓</a></div>
<div id="goBottom">
<a onclick="downn()" target="_self" style="color:#fff;">∨</a></div>
<script type=text/javascript>
goTopEx();
function xiay(){
window.scrollBy(0,window.innerHeight-10);
}
function shangy(){
window.scrollBy(0,-window.innerHeight+10);
}
var obj3=document.getElementById("xiay");
var obj4=document.getElementById("goBottom");
function getHeight(){
if(browser4=="ch"){
//谷歌浏览器
return document.body.clientHeight;
}else{
//IE、firefox等浏览器
return document.documentElement.clientHeight;
}
}
getHeight()<window.innerHeight+50?obj3.style.display="none":obj3.style.display="";
getHeight()<window.innerHeight+50?obj4.style.display="none":obj4.style.display="";
if(browser4!="ch"){//firefox需要尝一下才显示向下图标
xiay();
shangy();
}
//上一页、下一页按钮,需要文件名是数字
var strUrl=window.location.href;
var arrUrl=strUrl.split("/");
var thispage=arrUrl[arrUrl.length-1];
var thispage2=thispage.split(".");
var thispage3=thispage2[thispage2.length-2];
if(thispage3 == 1){
var obj5=document.getElementById("fPage");
obj5.style.display="none"
}else{
var fpage = thispage3 - 1;
fpage = fpage +".html"
document.getElementById("fPagea").href=fpage;
}
if(thispage3 == 100){
var obj6=document.getElementById("lPage");
obj6.style.display="none"
}else{
var fpage = thispage3 - 1;
fpage = fpage +".html"
document.getElementById("fPagea").href=fpage;
}
</script>
当将鼠标停留在“上一面”按钮处时,网页效果如下:
-End-
var topBtn = document.getElementById('top');
// 获取视窗高度
var winHeight = document.documentElement.clientHeight;
window.onscroll = function () {
// 获取页面向上滚动距离,chrome浏览器识别document.body.scrollTop,而火狐识别document.documentElement.scrollTop,这里做了兼容处理
var toTop = document.documentElement.scrollTop || document.body.scrollTop;
// 如果滚动超过一屏,返回顶部按钮出现,反之隐藏
if(toTop>=winHeight){
topBtn.style.display = 'block';
}else {
topBtn.style.display = 'none';
}
}
topBtn.onclick=function () {
var timer = setInterval(function () {
var toTop = document.documentElement.scrollTop || document.body.scrollTop;
// 判断是否到达顶部,到达顶部停止滚动,没到达顶部继续滚动
if(toTop == 0){
clearInterval(timer);
}else {
// 设置滚动速度
var speed = Math.ceil(toTop/5);
// 页面向上滚动
document.documentElement.scrollTop=document.body.scrollTop=toTop-speed;
}
},50);
}
*请认真填写需求信息,我们会在24小时内与您取得联系。