worpdress文章分类(wp_list_categories)函数
本文转自:http://20tc.com/worpdress-categories-function.html/comment-page-1
wp_list_categories函数的作用是调用wordpress博客分类。它丰富而实用的参数,可让你轻松获得想要的效果。操作简单,功能强大,掌握这个函数,对wordpress主题制作有很大帮助,是wordpress主题制作必须熟知的函数之一。
wp_list_categories函数存放位置在wp-includes文件夹的category-template.php文件。可以在第452行找到,420行至450行是函数使用说明。此外,还可以参考官方wp_list_categories链接,里面介绍的很详尽。
wp_list_categories函数参数详解
$defaults = array( 'show_option_all' => '', 'show_option_none' => __('No categories'), 'orderby' => 'name', 'order' => 'ASC', 'show_last_update' => 0, 'style' => 'list', 'show_count' => 0, 'hide_empty' => 1, 'use_desc_for_title' => 1, 'child_of' => 0, 'feed' => '', 'feed_type' => '', 'feed_image' => '', 'exclude' => '', 'exclude_tree' => '', 'current_category' => 0, 'hierarchical' => true, 'title_li' => __( 'Categories' ), 'echo' => 1, 'depth' => 0, 'taxonomy' => 'category' );
参数使用说明
参数使用说明
show_option_all:String类型。用于在分类列表前加入一个自定义链接。以String字符串作为链接文字,链接的地址指向首页。它同博客分类链接没关系。如果我想在分类列表的头部加入“首页”,并链接到首页,可以使用下面语句:
<?php wp_list_categories('show_option_all='.esc_attr(__('Home')).''); ?>
show_option_none:String类型。用于博客没有分类时显示,默认为“暂无分类”。在没有分类时,想显示链接到首页,可以这样调用:
<?php wp_list_categories('show_option_none='.esc_attr(__('Home')).''); ?>
orderby: 分类以何种方式排列,支持ID、name、slug、count 、term_group方式,默认name。ID是分类建立的顺序排列,name分类名称排列,slug缩略名方式排列,count分类日志数量排 列,term_group分组方式排列(二级或多级分类时使用)。想理解的更清楚,那就一行一个,读取出来自己研究吧?
<?php wp_list_categories('orderby=ID'); ?> <?php wp_list_categories('orderby=name'); ?> <?php wp_list_categories('orderby=slug'); ?> <?php wp_list_categories('orderby=count'); ?> <?php wp_list_categories('orderby=term_group'); ?>
order:分类的排序方式,可以使用正序ASC(默认)、倒序DESC两种方式。比如我以我建立分类的先后顺序,也就是以ID方式排列,我想让先建的在前面用ASC;我想让后建的在前面用DESC。请自行区别第一行和第二行。
<?php wp_list_categories('orderby=ID'); ?> <?php wp_list_categories('orderby=ID&order=ASC'); ?> <?php wp_list_categories('orderby=ID&order=DESC'); ?>
show_last_update:是否显示分类中日志的最新时间戳。1为显示,0为不显示(默认)。测试代码:
<?php wp_list_categories('show_last_update=0'); ?> <?php wp_list_categories('show_last_update=1'); ?>
style:分类显示方式,有两参数list(默认)、none。用none时需配合show_option_all,单独使用是没有效果的。此时每个分类之间用
分割,源代码里看变化。
<?php wp_list_categories('style=none&show_option_all='.esc_attr(__('Home')).''); ?> <?php wp_list_categories('show_option_all='.esc_attr(__('Home')).''); ?>
show_count:是否显示分类下的日志数量,0 为不显示 1为显示,默认为0不显示。
<?php wp_list_categories('show_count=1'); ?> <?php wp_list_categories('show_count=0'); ?>
hide_empty: 是否隐藏无文章的分类。0为不隐藏,1为隐藏,默认为1隐藏。当初不得言建博客分类时,在前台刷新却显示不出,还以为出现Bugs了。后来无意中发现,只 要分类下有了内容,就可以显示了,也就放弃了深究,渐渐淡忘了。直到现在才清楚,默认下不显示无内容的分类。新建一个分类测试吧。
<?php wp_list_categories('hide_empty=1'); ?> <?php wp_list_categories('hide_empty=0'); ?>
use_desc_for_title:是否显示分类链接中 title 标签描述。0为不显示,1为显示,默认值0不显示。值为1,在分类链接源码里的title内容,为建分类时的描述文字;值为0,在分类链接源码里的Title内容变为“查看分类名称下的所有日志”。
<?php wp_list_categories('use_desc_for_title=1'); ?> <?php wp_list_categories('use_desc_for_title=0'); ?>
child_of:数字类型,显示指定ID下的子分类。如果使用则需要把hide_empty赋值为0。
feed:是否显示一个链接到当前分类的Feed订阅,值作为内容出现,默认不显示。当feed赋值RSS时,将在当前分类后面加上名为RSS的Feed链接。另外,由下面的测试可知,虽然此参数没有默认值,但当feed=0时等同默认。
<?php wp_list_categories('feed=Rss'); ?> <?php wp_list_categories('feed='); ?> <?php wp_list_categories('feed=0'); ?>
feed_type:此参数暂不知如何使用。
feed_image:设置Feed的图片地址,同feed参数类似,只是把文字替换成图片显示。把参数feed和feed_image联合使用,会有意想不到的效果。请注意图片必须存在哈。
<?php wp_list_categories('feed_image=/images/budeyan.gif'); ?> <?php wp_list_categories('feed=RSS&feed_image=/images/budeyan.gif'); ?>
exclude:字符串类型,使一个或多个分类不显示,每个分类ID之间用半角逗号隔开。例如:136为站长手札,137为网络安全。下面是三者之间的对比,这样可以自定义不需要显示的分类了。
<?php wp_list_categories('exclude='); ?> <?php wp_list_categories('exclude=136'); ?> <?php wp_list_categories('exclude=136,137'); ?>
exclude_tree:不在分类列表中显示该分类树。
current_category: 数字型,后跟分类ID号,对此ID分类加入名为current-cat的CSS控制,用户自定义current-cat样式后,可用于突出显示。应用?好 吧,我可以定义current-cat为红色加粗,于是分类导航里就有了突出的显示了。注意:只能指定一个当前分类。变化需要在源代码中查看。
<?php wp_list_categories('current_category='); ?> <?php wp_list_categories('current_category=136'); ?>
hierarchical:分层显示父/子分类。默认值为1,
<?php wp_list_categories('hierarchical=1'); ?> <?php wp_list_categories('hierarchical=0'); ?>
title_li: 自定义分类的标题内容。默认情况下,在分类显示的左侧还会有个标题“分类”,我想自己定义此分类标题名称,则需要用到此参数。想把分类标题删除不用?好吧 赋值为空即可。第一个则不会有分类标题了,而第二个则把分类标题定义为:不得言博客分类,用
包含,便于定义样 式。
<?php wp_list_categories('title_li='); ?> <?php wp_list_categories('title_li=<h2>WPYOU博客分类</h2>' ); ?>
echo:是否显示分类。0表示不显示,1表示显示,默认为1。不得言这里就看不懂了,这个参数什么时候用的着?不想显示的话,删除代码得了,调用函数还不显示,想不通啊。
<?php wp_list_categories('echo=0'); ?> <?php wp_list_categories('echo=1'); ?>
depth:分类显示深度。这里是针对含有子分类而言的。0表示以目录树方式显示父分类和子分类,-1以无缩进的方式显示所有分类;1表示只显示顶级父分类;数字n表示显示N层的分类。
<?php wp_list_categories('depth=-1'); ?> <?php wp_list_categories('depth=0'); ?> <?php wp_list_categories('depth=1'); ?> <?php wp_list_categories('depth=3'); ?>
taxonomy:默认值category,除此之外,不知道啥用。
以上就是wp_list_categories函数的详细参数介绍了,根据自己的网站开发需求选择配置自己的参数进行不同显示效果和功能的设置。