详解WordPress中分类函数wp_list_categories的使用

yipeiwu_com7年前PHP代码库

wp_list_categories 函数是 WordPress 中用来罗列系统中分类的函数,该函数拥有许多控制输出的参数,今天突然被一个朋友问到,所以就大概整理了一下。

因为 WordPress 中内置扩展的小工具功能,
所以我们不经任何函数就可以在边栏或是其他我们想要的位置显示一个分类列表,
所以wp_list_categories函数就很少有人用到,
该函数使用起来有点类似于wp_list_bookmarks,

wp_list_categories 描述
wp_list_categories 函数是 WordPress 中用来罗列系统中分类链接的函数。
英文原文就不上了,有兴趣的可以去看一下官方文档。

用法

<?php
 wp_list_categories( $args ); 
$args = array(
 'show_option_all'  => '',//是否列出分类链接
 'orderby'      => 'name',//按名称排列
 'order'       => 'ASC',//升、降序
 'style'       => 'list',//是否用列表(ul>li)
 'show_count'     => 0,//是否显示文章数量
 'hide_empty'     => 1,//是否显示无日志分类
 'use_desc_for_title' => 1,//是否显示分类描述
 'child_of'      => 0,//是否限制子分类
 'feed'        => '',//是否显示rss
 'feed_type'     => '',//rss类型
 'feed_image'     => '',//是否显示rss图片
 'exclude'      => '',//排除分类的ID,多个用',(英文逗号)'分隔
 'exclude_tree'    => '',//排除分类树,即父分类及其下的子分类
 'include'      => '',//包括的分类
 'hierarchical'    => true,//是否将子、父分类分级
 'title_li'      => __( 'Categories' ),//列表标题的名称
 'show_option_none'  => __('No categories'),//无分类时显示的标题
 'number'       => null,//显示分类的数量
 'echo'        => 1,//是否显示,显示或者返回字符串
 'depth'       => 0,//层级限制
 'current_category'  => 0,//添加一个没有的分类
 'pad_counts'     => 0,//这个我也不明白
 'taxonomy'      => 'category',//使用的分类法
 'walker'       => null//用于显示的类(很复杂的概念)
?>

关于'pad_counts',我也没搞明白这个参数是干什么用的,
如果有兴趣你可以研究一下这个参数的官方文档。
也可以对照一下wp_list_bookmarks去使用。

pad_counts
(boolean) Calculates link or post counts by including items from child categories. If show_counts and hierarchical are true this is automatically set to true. This parameter added at Version 2.9 Valid values:
1 (true)
0 (false) – default

使用实例
显示包括ID为3,5,9,16的分类链接,且按名称排列顺序

<ul>
<?php wp_list_categories('orderby=name&include=3,5,9,16'); ?> 
</ul>

显示Poetry为标题的包括ID为5,9,23的分类列表

<ul>
<?php wp_list_categories('include=5,9,23&title_li=<h2>' . __('Poetry') . '</h2>' ); ?> 
</ul>

当然你也可以像如下这样书写参数,将参数整合为数组。

<?php 
$taxonomy   = 'genre';
$orderby   = 'name'; 
$show_count  = 0;   // 1 for yes, 0 for no
$pad_counts  = 0;   // 1 for yes, 0 for no
$hierarchical = 1;   // 1 for yes, 0 for no
$title    = '';
 
$args = array(
 'taxonomy'   => $taxonomy,
 'orderby'   => $orderby,
 'show_count'  => $show_count,
 'pad_counts'  => $pad_counts,
 'hierarchical' => $hierarchical,
 'title_li'   => $title
);
?>
 
<ul>
<?php wp_list_categories( $args ); ?>
</ul>

taxonomy分类法,是相对于标签(tag)的概念。

相关文章

php ss7.5的数据调用 (笔记)

php ss7.5的数据调用 (笔记)

这几天搞 ss7.5 dz7.2 uc1.5 uchome2.0和自己主站的整合 头都大了 呵呵  好歹是弄的差不多 了 呵呵 记录一下 ss7.5的数据调用  ...

php实现的一个简单json rpc框架实例

json rpc 是一种以json为消息格式的远程调用服务,它是一套允许运行在不同操作系统、不同环境的程序实现基于Internet过程调用的规范和一系列的实现。这种远程过程调用可以使用h...

隐藏你的.php文件的实现方法

隐藏你的.php文件 隐藏你的.php文件  今天做PHP在线手册镜像的时候看到了这个方法,哈哈,以前都没有注意到,所以说,手册是最好的老师 -----------------...

PHP中冒号、endif、endwhile、endfor使用介绍

我们经常在wordpress一类博客程序的模板里面看到很多奇怪的PHP语法,比如: 复制代码 代码如下: <?php if(empty($GET_['a'])): ?> &l...

关于PHP自动判断字符集并转码的详解

原理很简单,因为gb2312/gbk是中文两字节,这两个字节是有取值范围的,而utf-8中汉字是三字节,同样每个字节也有取值范围。而英文不 管在何种编码情况下,都是小于128,只占用一个...