WordPress页面菜单标签:wp_page_menu

WordPress模板标签wp_page_menu与wp_list_pages()非常相似,都是用于输出页面列表。最大的不同之处在于,wp_page_menu()输出的页面列表被放置在一个类名为menu的DIV内,可见wp_page_menu()主要用于菜单的输出。

wp_page_menu( array|string $args = '' )

函数参数

$args

数组或字符串值

wp_page_menu()函数$args参数默认的值如下:

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

wp_page_menu()函数$args参数可用的值如下:

depth

整数型,默认值:0

  • 0:输出所有的页面和子页面,按层级的方式输出;
  • 1:只输出顶级页面,不包含任何子页面;
  • n:根据n的具体数字来显示相应等级的页面;
  • -1:输出所有的页面和子页面,不以层级的方式输出;

sort_column

字符串值,默认值:menu_order, post_title

排序方式,可以是wp_posts表的任何字段

  • post_title:页面标题
  • menu_order:页面排序编号
  • post_date:页面发表日期
  • post_modified:页面修改日期
  • ID:页面ID
  • post_author:作者
  • post_name:页面别名

menu_class

字符串值,默认值:menu

包裹页面列表的DIV容器的类名

include

字符串值,默认为空

指定要显示的页面的ID,多个ID用逗号分隔,默认显示所有页面。

exclude

字符串值,默认为空

要排除的页面ID,多个ID用逗号分隔。

exclude_tree

字符串值,默认为空

要排除的页面ID,多个ID用逗号分隔,连同子页面一起排除。

echo

布尔值,默认值:1

是否输出结果,如果为0,只返回结果而不输出。

show_home

布尔值,默认值:0

是否显示首页链接,默认不显示。

link_before

字符串值,默认为空

在链接锚文本前添加字符

link_after

字符串值,默认为空

在链接锚文本后添加字符

函数使用示例

只显示顶级页面,并显示首页的链接

<?php
	$args = array(
		'depth'       => 1,
		'show_home'   => true,
	);
	wp_page_menu($args);
?>

下面的代码输出一样的结果:

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

扩展阅读

wp_page_menu()函数位于:wp-includes/post-template.php

相关函数:

Typora