说明

该标签显示带有链接的WordPress页面列表,并且可以选择将 Home(主页)自动显示为列表中的一员。该标签是自定义侧边栏和标题栏的好帮手,同时还可以用在其它模板中。

WordPress教程

用法

 <?php wp_page_menu( $args ); ?>

默认用法

<?php $args = array(            'depth'       => 0,    'sort_column' => 'menu_order, post_title',    'menu_class'  => 'menu',    'include'     => '',    'exclude'     => '',    'echo'        => true,    'show_home'   => false,    'link_before' => '',    'link_after'  => '' );    ?>

默认情况下的显示状态:

按页面菜单顺序和标题进行排列

DIV类为’menu’

回应结果(显示)

无link_before或link_after文本

不将“Home”添加到页面列表中

注意:用 <ul>与</ul>标签包围输出结果

参数

depth

(整数)这个参数用来控制 wp_list_pages 生成的页面列表的层次深度。默认值为 0 (显示所有页面,包括所有子页面)

0(默认)使用嵌套列表显示所有层次的页面

-1 – 使用单一的平面列表显示所有层次的页面

1 – 只显示顶级页面

2,3… – 显示置顶的层次深度的页面

sort_column

(字符串)按页面标题的字母顺序排列页面列表。默认设置为sort by menu order (按菜单顺序排列)与alphabetically by page title(按页面标题的字母顺序排列)。sort_column参数可被WordPress数据库中的wp_post表中任何字段的描述符用来排列页面列表。下面是一些可用值。

‘post_title’ —— 按标题的字母顺序排列页面

‘menu_order’ ——按页面顺序排列页面。注意页面顺序与页面ID之间的区别。页面ID是WordPress为页面/文章指定的一个唯一数字。而页面顺序则可由用于在管理面板(如仪表盘>页面>编辑页面)中设定。

‘post_date’ ——按发表日期排列页面

‘post_modified’ —— 按最后修改日期排列页面

‘ID’ ——按页面ID排列

‘post_author’ ——按页面作者的ID排列页面

‘post_name’ —— 按页面别名的字母顺序排列页面

menu_class

(字符串)用以显示列表的DIV类。默认值为menu。

include

(字符串)只显示符合所求ID的页面。如 wp_page_menu(‘include=2,14’) 只会列出ID为2和14的页面。

exclude

(字符串)该参数决定从列表ID列表中排除某些页面(如 ‘exclude=3,7,31’)。无默认值。参见下文中从列表中排除若干页面的示例。

exclude_tree

(字符串)确定一列将要被排除的父页面ID,各ID用逗号隔开。可用该参数删除某个父页面及其所有下属页面。如’exclude_tree=5’将会删除ID为5的父页面与该页面的所有子页面。(该参数引入于WP 2.7,在WP 2.8.1中使用该参数可能会有问题——详情请见bug报告。)

echo

(布尔型)显示生成的页面链接列表,或将列表作为HTML文本字符串返回以用在PHP中。默认值为1(显示生成的列表项)。有效值包括:

0(false)

1 (true)——默认值

show_home

(布尔型)将“Home”作为页面列表的第一个列表项。将管理面板>设置>常规中填写的博客地址(URL)作为这里Home的URL链接。默认值为0(不在生成的列表中加入“Home”项)。有效值包括:

0(false)——默认值

1 (true)

<任何内容> —— 用这里的内容代替“Home”(show_home仍然为true)

link_before

(字符串)设置<a>标签中链接文本前的文字或html。

link_after

(字符串)设置<a>标签中链接文本后的文字或html。

返回值

(字符串)如果“echo”参数被设置为false,输出菜单的HTML代码

示例

将主页(home)作为一个页面

下面这个例子将“Home”作为页面列表的第一个列表项。此外,所有页面名称都被div元素围绕,不显示ID为5,9,23的页面,以页面顺序排列页面。列表前有标题“Page Menu”字样。

  <h2>Page Menu</h2>    <?php wp_page_menu('show_home=1&exclude=5,9,23&menu_class=page-navi&sort_column=menu_order'); ?>

将主页作为一个页面,并命名为Blog

下面这个例子将“Blog”(“Home”主页的替代品)作为页面列表的第一个列表项:

 <?php wp_page_menu( array( 'show_home' => 'Blog', 'sort_column' => 'menu_order' ) ); ?>

只在页面列表中显示主页

下面这个示例在页面列表中只显示了一个主页(Home)链接。注意include=99999’引用了一个实际上并不存在的页面ID,因此列表中只会显示主页(Home)链接。

   <?php wp_page_menu('show_home=1&include=9999'); ?>

菜单项的CSS类

下面的CSS类是 wp_page_menu() 生成的菜单输出的,例如HTML <li>标签

所有菜单项(Menu Items)

.page_item

这个类被添加到菜单项中对应的静态页面

.page-item-$ID

这个类被添加到菜单项中对应的静态页面,$ID 就是这个页面的ID

当前页面菜单项

.current_page_item

这个类被添加到菜单项中对应的当前显示的静态页面

当前页面的父级菜单项

.current_page_parent

这个类被添加到菜单项中对应的当前显示的静态页面的父级页面

当前页面的祖先菜单项

.current_page_ancestor

这个类被添加到菜单项中对应的当前显示的静态页面的祖先页面

WordPress函数wp_page_menu详解的更多相关文章

  1. WordPress 函数do_action()详解和应用举例

      do_action()函数: 我们经常能看到在一些WordPress函数中调用了do_action()函数,例如get_header(), get_footer()等调用模板的函数中经常调用do_ ...

  2. 自写函数VB6 STUFF函数 和 VB.net 2010 STUFF函数 详解

    '*************************************************************************'**模 块 名:自写函数VB6 STUFF函数 和 ...

  3. SQL Server数据库ROW_NUMBER()函数使用详解

    SQL Server数据库ROW_NUMBER()函数使用详解 摘自:http://database.51cto.com/art/201108/283399.htm SQL Server数据库ROW_ ...

  4. PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明

    PHP函数篇详解十进制.二进制.八进制和十六进制转换函数说明 作者: 字体:[增加 减小] 类型:转载   中文字符编码研究系列第一期,PHP函数篇详解十进制.二进制.八进制和十六进制互相转换函数说明 ...

  5. PHP date函数参数详解

    PHP date函数参数详解 作者: 字体:[增加 减小] 类型:转载       time()在PHP中是得到一个数字,这个数字表示从1970-01-01到现在共走了多少秒,很奇怪吧 不过这样方便计 ...

  6. SQL中CONVERT()函数用法详解

    SQL中CONVERT函数格式: CONVERT(data_type,expression[,style]) 参数说明: expression 是任何有效的 Microsoft® SQL Server ...

  7. php中setcookie函数用法详解(转)

    php中setcookie函数用法详解:        php手册中对setcookie函数讲解的不是很清楚,下面是我做的一些整理,欢迎提出意见.        语法:        bool set ...

  8. eval()函数用法详解

    eval()函数用法详解:此函数可能使用的频率并不是太高,但是在某些情况下具有很大的作用,下面就介绍一下eval()函数的用法.语法结构: eval(str) 此函数可以接受一个字符串str作为参数, ...

  9. Python学习入门教程,字符串函数扩充详解

    因有用户反映,在基础文章对字符串函数的讲解太过少,故写一篇文章详细讲解一下常用字符串函数.本文章是对:程序员带你十天快速入门Python,玩转电脑软件开发(三)中字符串函数的详解与扩充. 如果您想学习 ...

随机推荐

  1. zabbix日常监控项java(四又分之一)

    因zabbix自带监控JMX的模板通用性差的问题,需要我们自己新建一个属于自己的模板,于是本文就出现了.... 大部分都是参考网上其他博主的文档,在此作为梳理.总结:以方便自己日后使用查询.

  2. BlockingQueue笔记

    Concurrent包中的BlockingQueue很好的解决了多线程中如何高效安全“传输”数据的问题.通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利. 通过一个共享 ...

  3. Eclipse解决运行、启动缓慢问题思路

    我的Eclipse近几天运行时速度奇慢,具体表现为: 1.只要ECLIPSE启动后,硬盘灯就狂闪,不停的读盘: 2.发布TOMCAT经常在0%: 3.偶尔CPU占满: 网上讲优化的文章无数,但是总是有 ...

  4. PHP设计模式系列 - 观察者模式

    观察者模式 观察者设计模式能够更便利创建和查看目标对象状态的对象,并且提供和核心对象非耦合的置顶功能性.观察者设计模式非常常用,在一般复杂的WEB系统中,观察者模式可以帮你减轻代码设计的压力,降低代码 ...

  5. [SDOI2010]Hide and Seek

    题目 非常显然就是求一下距离每一个点曼哈顿距离最近的点和最远的点就好了 最远点非常好算,我们建完\(kd-tree\)之后直接暴力就好了 找最近点的时候会有这样一个问题,就是自己找到了自己 所以我们需 ...

  6. 如何搭建github+hexo博客-转

    1.前言 其实早在这之前我就一直想过写博客,但由于种种原因一直没有去学习这方面的知识,最近半个月(从开始动手到搭建好)一直陆陆续续的在着手这方面的工作.从开始到搭建完成的过程中遇到了很多困难,因为在这 ...

  7. programming-languages学习笔记--第8部分

    programming-languages学习笔记–第8部分 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre.src ...

  8. centos安装swoole

        编译安装swoole: cd && wget https://github.com/swoole/swoole-src/archive/1.8.6-stable.tar.gz  ...

  9. R语法:<<-为全局变量赋值

    例:在函数内部为全局变量赋值 all_predata_time <- data.frame(pd=0.1,Row=1,preRow=0,pt=0.1,stasid='1',InitDate='1 ...

  10. nginx学习要点记录

    IO多路复用: 1.轻量 2.cpu亲和性:把CPU核心和nginx工作进程绑定,把每个worker进程固定在一个CPU上执行,减少切换cpu的cache miss,获得更好的性能 3.IO多路复用e ...