建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

(WordPress函数:wp_page_menu()的使用)

GG网络技术分享 2025-03-18 16:13 0


WordPress函数:wp_page_menu()的使用

使用说明

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

默认用法

<?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”字样。

1

2

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

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

下面这个例子将“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

标签:

提交需求或反馈

Demand feedback