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

yipeiwu_com6年前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创建单例后台进程的方法示例

本文实例讲述了PHP创建单例后台进程的方法。分享给大家供大家参考,具体如下: 可以通过如下语句启动一个PHP后台进程: $command = " php script.php ";...

PHP实现货币换算的方法

本文实例讲述了PHP实现货币换算的方法。分享给大家供大家参考。 具体实现代码如下: 复制代码 代码如下:<?php /* * File: CurrencyConvert...

PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明

举例说明: 在Windows环境下:原本在php4.3.0中运行正常的程序,在4.3.1中为何多处报错,大体提示为:Notice:Undefined varialbe:变量名称. 例如有...

php定时计划任务与fsockopen持续进程实例

Web服务器执行一个PHP脚本,有时耗时很长才能返回执行结果,后面的脚本需要等待很长一段时间才能继续执行。如果想实现只简单触发耗时脚本的执行而不等待执行结果就直接执行下一步操作,可以通过...

php获取地址栏信息的代码

复制代码 代码如下:<?php //获取域名或主机地址 echo $_SERVER['HTTP_HOST']."<br>"; //获取网页地址 echo $_SERVE...