wordpress页面调用函数wp_list_pages()使用说明详解

wp_list_pages()函数用于调用wordpress页面标题并以超链接形式作为博客导航显示使用,是wordpress主题制作常用的调用函数。wp_list_pages()函数有多个参数供用户根据主题设计需要自由选择组合显示,下面是wp_list_pages()调用函数各个参数的使用说明

函数用法:

<?php wp_list_pages('arguments'); ?>

函数默认参数如下:

$defaults = array(
'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'=> '' );//不删除父级/子级树

参数详细说明:

depth:

表示包含的页面层次级数,默认值为0,显示所有页面和子页面;-1以平级方式显示子页面中的页面;1仅显示最上层页面;2表示需要显示页面内部的层级数;

show_data:

表示在每篇页面旁显示创建日期或最新修改日期。默认值为空”,即不显示日期;’modified’显示最新修改日期;’xxx’任何非modified值都将显示页面最初的日期;
data_format表示对show_data参数生成的页面日期格式进行设置,默认格式为wordpress选项设定的日期格式;

child_of:

表示仅显示单个页面的子页面,默认值为0,显示所有页面。该参考不仅获取直系子页面,也会从已知编号中获取更深层次的页面。

exclude:

表示排除不显示的页面,如exclude=1,2,3,数字为页面的ID;

title_li:

设置页面列表标题的内容和样式。

echo:

显示所生成的链接列表,或将列表按HTML文本格式返回供PHP使用。默认值为1(显示生成的列表项)。可能的值包括:1 (true) — 默认;0(false)

authors:

不局限于特定作者

sort_order:

更改页面列表的排列顺序。默认值为升序。可选的值’asc’按从低到高顺序排列(默认);’desc’按从高到低顺序排列

link_before:

设置a标签中文字链接前的文本或html代码

link_after:

设置a标签中文字链接后的文本或html代码。

exclude_tree:

从结果中移除已知编号的所有子页面,或者用于隐藏已知页面的所有子页面,还可联

child_of:

参数隐藏孙页面。

$walker 自定义样式类名

$avatar_size 头像大小 Default: 32

$style 评论容器标签可以是 ‘div’, ‘ol’, or ‘ul’,默认值是’ul’,如果不是,那你需要像如下那样明确写出。

<div class="commentlist"><?php wp_list_comments(array('style' => 'div')); ?></div>

<ol class="commentlist"><?php wp_list_comments(array('style' => 'ol')); ?></ol>

$type 显示何种评论,参数可以是

‘all’、’comment’、’trackback’、’pingback’、’pings’. ‘pings’ 包

括’trackback’ 和 ‘pingback’.

默认值: ‘all’

$reply_text 回复按钮的文本值,这个较少用不解释 默认值: ‘Reply’

$login_text 登录按钮的文本值,这个较少用不解释 默认值: ‘Log in to Reply’

$callback 评论显示的回调函数,即显示评论主题的函数名称

$end-callback 应该是循环结束后的回调函数,本人未实测,请自行探索。

$reverse_top_level 布尔值,如果设置本参数为真,则先显示最新一条评论,后面的评论按照后台设置显示。

$reverse_children 布尔值,如果设置本参数为真,则先显示最新一条有子评论的评论,后面的评论按照后台设置显示。

示例

输出一个顺序已排列完毕的评论列表。评论的嵌套或分页可在管理面板的讨论菜单中设定。

<ol class="commentlist">
<?php wp_list_comments(); ?>
</ol>
当使用自定义的callback函数控制评论样式时,只显示用户评论(不显示pingback或trackback)。如果没有出现回复链接,可添加max_depth=X参数。
<ul class="commentlist">
<?php wp_list_comments('type=comment&callback=mytheme_comment'); ?>
</ul>

还需要在主题的functions.php文件中定义你的自定义callback函数。下面是一个示例:

function mytheme_comment($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>
<li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
<div id="comment-<?php comment_ID(); ?>">
<div class="comment-author vcard">
<?php echo get_avatar($comment,$size='48',$default='<path_to_url>' ); ?>
<?php printf(__('<cite class="fn">%s</cite> <span class="says">says:</span>'), get_comment_author_link()) ?>
</div>
<?php if ($comment->comment_approved == '0') : ?>
<em><?php _e('Your comment is awaiting moderation.') ?></em>
<br />
<?php endif; ?>
<div class="comment-meta commentmetadata"><a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>"><?php printf(__('%1$s at %2$s'), get_comment_date(), get_comment_time()) ?></a><?php edit_comment_link(__('(Edit)'),' ','') ?></div>
<?php comment_text() ?>
<div class="reply">
<?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>
</div>
<?php
}

可以注意到代码中缺少了一个结尾的</li>,wordpress会在列出所有子级分类后自动添加结尾</li>。

历史记录

该标签始见于WordPress 2.7.0

源文件

wp_list_comments()位于 wp-includes/comment-template.php

 

 

预见

发表评论

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen: