详解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)的概念。

相关文章

Ajax+PHP实现的删除数据功能示例

Ajax+PHP实现的删除数据功能示例

本文实例讲述了Ajax+PHP实现的删除数据功能。分享给大家供大家参考,具体如下: 一 代码 conn.php: <?php $conn = mysql_conne...

PHP常用函数和常见疑难问题解答

首先介绍下比较简单但必不可少且实用的知识,可以当手册查询,适合像我一样的新手看。 PHP常用库函数介绍 一、PHP字符串操作常用函数1.确定字符串长度 int strlen(string...

php实现的click captcha点击验证码类实例

php实现的click captcha点击验证码类实例

本文实例讲述了php实现的click captcha点击验证码类及其用法,是非常实用的功能。分享给大家供大家参考之用。具体如下: 一、需求: 现在常用的表单验证码大部分都是要用户输入为主...

解析php curl_setopt 函数的相关应用及介绍

一、要想使用curl_setopt 这个函数必须在服务器里边进行编译curl这个组件,怎么安装编译这个组件请具体到google搜索二、curl_setopt的php帮助文档的解释bool...

PHP中如何使用Redis接管文件存储Session详解

PHP中如何使用Redis接管文件存储Session详解

前言 php默认使用文件存储session,如果并发量大,效率会非常低。而redis对高并发的支持非常好,可以利用redis替换文件来存储session。 最近就遇到了这个问题,之前找...