page页面在WordPress中是一种特殊的文章页面,page页面通常被我们用于制作内容固定的页面,例如:企业网站里的关于我们,联系我们等等,有时我们也用page页面制作专题页面。
下面介绍一下WordPress网站page页面调用与排序方法。
调用网站所有page页面
<ul>
<?php wp_list_pages(); ?>
</ul>
调用指定ID页面下的子页面
<?php wp_list_pages(hide_empty=0&child_of=5&title_li=); ?>
除了上面的普通调用page页面之外,还可以使用下面的带参数代码达到特殊的要求。
隐藏或改变列表标题
给title_li参数传递一个零值或空值,可以隐藏由wp_list_pages生成的页面列表默认标题。
<?php wp_list_pages(title_li=); ?>
在下面这个例子中,列表中只包含编号为9,5,23的页面,标题内容被改为“Poetry”,格式为
<?php wp_list_pages(include=5,9,23&title_li=<h2> . __(Poetry) . </h2> ); ?>
用exclude参数可隐藏列表中由wp_list_pages生成的若干页面。
<?php wp_list_pages(exclude=17,38 ); ?>
页面按条件排列
下面的例子将页面按管理栏中 Write > Page 定义的页面顺序进行排列。
<?php wp_list_pages(sort_column=menu_order); ?>
如果希望将列表按页面顺序进行排列并将“Prose”作为列表标题(以h2格式)显示在侧边栏中,可将以下代码添加到sidebar.php文件中:
<?php wp_list_pages(sort_column=menu_order&title_li=<h2> . __(Prose) . </h2> ); ?>
使用下列代码段,可显示出无标题并以页面顺序排列的页面:
<?php wp_list_pages(sort_column=menu_order&title_li=); ?>
下列代码显示出的页面将按发表日期进行排列,在页面列表项旁显示日期。
<?php wp_list_pages(sort_column=post_date&show_date=created); ?>
显示列表页面
若仅希望在列表中显示特定页面,例如编号为35,7,26和13的页面,可使用include参数。
<?php wp_list_pages(include=7,13,26,35&title_li=<h2> . __(Pages) . </h2> ); ?>
显示子页面
注意:即使没有子页面,HTML标签也是必要的(ul或ol)。用css设置列表时需要将这一点谨记在心。
<?php
wp_list_pages
(title_li=&child_of=.$post->ID.
&show_date=modified
&date_format=$date_format
); ?>
以下代码仅在目前页面有子页面(将目前页面设为父级页面的页面)的情况下生成列表:
<?php
$children = wp_list_pages(title_li=&child_of=.$post->ID.&echo=0);
if ($children) { ?>
<?php echo $children; ?>
<?php } ?>
将本代码放在侧边栏的widget区块后,代码将无法运行。
<?php
if($post->post_parent)
$children =wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
else
$children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
if ($children) { ?>
<?php echo $children; ?>
<?php } ?>
本代码也可用在sidebar.php中,仅显示顶级页面。但浏览到包含子页面的页面时,仅显示其子页面。
浏览主页时在侧边栏显示所有顶级页面
浏览没有子页面的顶级页面时,显示所有顶级页面
浏览有子页面的顶级页面时,显示所有子页面及下一级页面
浏览子页面时,显示其父级页面下的所有子页面和下一级页面
<?php
$output = wp_list_pages(echo=0&depth=1&title_li=<h2>Top Level Pages </h2> );
if (is_page( )) {
$page = $post->ID;
if ($post->post_parent) {
$page = $post->post_parent;
}
$children=wp_list_pages( echo=0&child_of= . $page . &title_li= );
if ($children) {
$output =wp_list_pages(echo=0&child_of= . $page . &title_li=<h2>Child Pages</h2>);
}
}
echo $output;
?>
默认参数
depth => 0, 显示所有页面和子页面(无深度限制)
show_date => , 不显示创建日期
date_format => get_option(date_format),
child_of => 0, 子页面无限制
exclude => , 不删除任意页面
title_li => __(Pages), 页面列表的标题为“Pages(页面)”
echo => 1, 回显(显示)结果
authors => , 不局限于特定作者
sort_column => menu_order, post_title, 先按页面顺序再按页面标题排序
link_before => ,
link_after => ,
exclude_tree=> );不删除父级/子级树