WordPress函数:wp_page_menu(页面菜单)
2017-02-23 09:07
260 查看
WordPress函数:wp_page_menu(页面菜单)
倡萌2013/05/11WordPress开发发表评论2,920浏览
说明
该标签显示带有链接的WordPress页面列表,并且可以选择将 Home(主页)自动显示为列表中的一员。该标签是自定义侧边栏和标题栏的好帮手,同时还可以用在其它模板中。用法
1 | <?php wp_page_menu( $args ); ?> |
默认用法
12 | <?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”字样。
12 | <h2>Page Menu</h2> <?php wp_page_menu('show_home=1&exclude=5,9,23&menu_class=page-navi&sort_column=menu_order'); ?> |
下面这个例子将“Blog”(“Home”主页的替代品)作为页面列表的第一个列表项:
1 | <?php wp_page_menu( array( 'show_home' => 'Blog', 'sort_column' => 'menu_order' ) ); ?> |
下面这个示例在页面列表中只显示了一个主页(Home)链接。注意include=99999′引用了一个实际上并不存在的页面ID,因此列表中只会显示主页(Home)链接。
1 | <?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
这个类被添加到菜单项中对应的当前显示的静态页面的祖先页面
注释
参见 wp_list_pages()函数历史
始见于 2.7.0,WordPress 2.8.1 :sort_column参数的默认值由 ‘post_title’ 改为 ‘menu_order, post_title’源文件
wp_page_menu() 位于 wp-includes/post-template.php原文:http://codex.wordpress.org/Template_Tags/wp_page_menu
编译:倡萌@WordPress大学
相关文章推荐
- Hide Action menu of SiteSet page(隐藏网站设置页面内的功能菜单)
- 黄聪:WordPress后台添加侧边栏菜单(WP教程add_menu_page)
- WordPress 导航菜单使用wp_nav_menu()
- 解决 asp.net 中如果 Menu 控件放在 MasterPage 中, IE6 会出现的二级菜单不能正确显示的问题
- wordpress自定义菜单wp_nav_menu 代码详解
- add_menu_page(添加顶级菜单)
- wordpress主题开发:导航菜单函数wp_nav_menu()使用方法
- Page Scroll Menu (页面中锚点菜单)
- WordPress函数:wp_nav_menu($args)函数说明
- 完全隐藏Master Page 页面编辑菜单
- 完全隐藏Master Page 页面编辑菜单
- 模板标签-wp_page_menu()
- Menu菜单(一)——点击Menu中的选项后,在该页面又出现一个新的列表菜单
- wordpress中wp_nav_menu()菜单参数说明
- 实现一个简单的菜单程序,运行时显示"Menu:A(dd) D(elete) S(ort) Q(uit),Select one: "提示用户输入。输入A、D、S时分别提示"数据已经增加、删除、排序"
- 在页面加载page_load时,弹出一个js对话框:欢迎光临!
- 问题小结(5)-menu菜单的刷新
- 导航(1) 侧滑菜单导航 可替代AndroidSideMenu
- 动态改变actionbar的menu菜单MenuItem的显示
- RecyclerView进阶使用-实现仿支付宝菜单编辑页面拖拽功能