wordpress制作自定义菜单的方法

所属分类: CMS教程 / WordPress 阅读数: 1230
收藏 0 赞 0 分享
要想实现自定义菜单,需要用到的函数是wp_nav_menu(),给这个函数传递一些参数就可以输出自定义菜单菜单,下面简单讲讲如何使用使用这个函数。
首先,在主题目录下的functions.php的 <?php ….. ?> 之间,添加以下菜单注册代码,这样你就可以在主题文件中使用wp_nav_menu函数了:

复制代码
代码如下:

// This theme uses wp_nav_menu() in one location.
register_nav_menus();

接着我们在主题的导航栏处调用wp_nav_menu(),即可输出导航菜单HTML代码:

复制代码
代码如下:

<?php
// 列出顶部导航菜单,菜单名称为mymenu,只列出一级菜单
wp_nav_menu( array( 'menu' => 'mymenu', 'depth' => 1) );
?>
以上代码输出的HTML代码形式如下:
<div class="menu-menu-container">
<ul class="menu" id="menu-menu">
<li class="..." id="menu-item-1"><a href="...">首页</a></li>
<li class="..." id="menu-item-2"><a href="...">分类A</a></li>
...
</ul>
</div>

这里列出的 li 项为你在后台 – 外观 – 菜单添加的栏目,如果你还没有在后台添加菜单,导航栏将列出所有页面。另外,wp_nav_menu会为每个 li 添加class,不同的class标记这个菜单项的属性,如当前打开的是某个文章页面,分类A 就是这篇文章所属的分类,那么 分类A 所在的 li 将会如下代码所示:

复制代码
代码如下:

<li class="menu-item menu-item-type-taxonomy current-post-ancestor current-menu-parent current-post-parent menu-item-5" id="menu-item-2"><a href="...">分类A</a></li>

     如果是在首页,那么首页的菜单项的 li 可能会如下所示:

复制代码
代码如下:

<li class="menu-item menu-item-type-custom current-menu-item current_page_item menu-item-home menu-item-4" id="menu-item-1"><a href="..">首页</a></li>
从这些class的名称就知道它们的作用,通过给这些class添加css属性,可以达到如高亮当前导航菜单的目的,如将当前菜单链接定义成红色:
.current-post-ancestor a, .current-menu-parent a, .current-menu-item a, .current_page_item a {
color: red;
}

     好了,WordPress 3.0的自定义菜单的调用就是这么简单。wp_nav_menu还有很多参数,如自定义 ul 节点、ul 父节点的id和class的参数等等,详情可以参考文档:官方文档 | 中文文档
使用分类和页面作为导航栏
     在 WordPress 3.0 之前,大部分WordPress主题都是拿页面作为导航栏的,导航中只能添加页面,显得不够自由。我刚用WordPress 2.7的时候,就为此问题烦恼,最后翻了文档,查了一些资料,实现了在导航中添加分类,详情请看我之前写的文章:WordPress 分类做导航栏,并高亮显示
非常规导航栏的制作
     以上提到的两种方式,都是使用WordPress自带的函数来实现,他们输入的HTML代码也都是限定好的,就是使用 ul li 的形式来构建菜单列表:如:

复制代码
代码如下:

<ul>
<li class="..">...</li>
<li class="..">...</li>
</ul>

如果主题的前端代码不是你写的,而且导航栏的代码写得很龟毛,这根本不是上面的WordPress标准的 ul 导航栏形式,如下面的代码:

复制代码
代码如下:

<dl>
<dt><strong>标题</strong></dt>
<dd><a target="_blank" title="#" href="#">菜单A</a></dd>
<dd><a target="_blank" title="#" href="#">菜单B</a></dd>
</dl>
更多精彩内容其他人还在看

WordPress实现评论后可显示内容中附件下载地址的方法

这篇文章主要介绍了WordPress实现评论后可显示内容中附件下载地址的方法,可实现用户在评论后显示内容中附件下载地址的功能,涉及wordpress针对数据库的相关操作与判定技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

WordPress实现的首页幻灯片展示功能示例【附demo源码】

这篇文章主要介绍了WordPress实现的首页幻灯片展示功能的方法,可实现后台勾选推送到首页幻灯片的功能,末尾还附带demo源码供读者下载参考,需要的朋友可以参考下
收藏 0 赞 0 分享

WordPress后台地址被改导致无法登陆后台的简单解决方法

这篇文章主要介绍了WordPress后台地址被改导致无法登陆后台的简单解决方法,简单分析了后台无法登陆的原因与相应的解决方法,涉及针对wordpress配置项的简单修改,需要的朋友可以参考下
收藏 0 赞 0 分享

WordPress使用自定义文章类型实现任意模板的方法

这篇文章主要介绍了WordPress使用自定义文章类型实现任意模板的方法,可通过自定义文章类型来实现任意模版的使用,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

WordPress实现回复文章评论后发送邮件通知的功能

这篇文章主要介绍了WordPress实现回复文章评论后发送邮件通知的功能,涉及wordpress针对评论与邮件的相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

WordPres限制非管理员访问管理面板的方法

大家可能发现了当实现了前端用户中心,后台控制面板就失去了作用,那么限制其他用户进入后台控制面板就很有必要了!那么我们要怎么做呢?通过下面这篇文章分享的方法后,只有管理员才能进入,否则是其他注册用户进入则会跳转首页。下面来一起看看吧。
收藏 0 赞 0 分享

wordpress自定义上传文件类型的方法

这篇文章主要给大家介绍了wordpress自定义上传文件类型的方法,如WordPress默认允许上传 .exe 后缀名的可运行文件,那么我们怎么禁止用户在WordPress后台发表文章时上传 .exe 后缀名的文件呢?以及如何让wrodpress允许上传zip文件格式,下面来一起
收藏 0 赞 0 分享

WordPress取消英文标点符号自动替换中文标点符号的优雅方法

这篇文章主要介绍了WordPress取消英文标点符号自动替换中文标点符号的优雅方法,需要的朋友可以参考下
收藏 0 赞 0 分享

wordpress在安装使用中出现404、403、500及502问题的分析与解决方法

wordpress是很多新手站长搭建个人博客最喜爱的程序,但是最近在使用WordPress的时候遇到了一些问题,所以想着将遇到问题总结分享出来,下面这篇文章主要给大家介绍了关于wordpress在安装使用中出现404、403、500及502问题的解决方法,需要的朋友可以参考下。
收藏 0 赞 0 分享

WordPress中删除垃圾评论的方法

这篇文章主要介绍了WordPress中删除垃圾评论的方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多