http://www.511yj.com/wordpress-wp-categories.html

注意:

1、 wp_list_categories() 和 list_cats() 以及 wp_list_cats() 的使用类似,但是后面 2 个已经弃用。

2、如果你希望不格式化输出分类,请使用 get_categories()

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

4、该函数使用起来有点类似于wp_list_bookmarks()

5、该函数输出 应当包含在 ul 标签内

使用方法

wp_list_categories( string|array $args = '' )

默认用法

<?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//用于显示的类
?>

用法举例

1、包含或排除某分类:
意思就是把分类ID为3,5,9,16的分类按名称顺序来排序:

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

或者

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

2、按名称排列,并显示每个分类的日志总数,并不显示ID为10的分类:

<?php wp_list_categories('orderby=name&show_count=1&exclude=10'); ?>

或者

<ul>
<?php wp_list_categories( array(
'orderby' => 'name',
'show_count' => true,
'exclude' => array( 10 )
) ); ?>
</ul>

3、显示或隐藏列表标题:
过滤ID为4和7的分类,并且列表标题设置为“511遇见”:

<?php wp_list_categories('exclude=4,7&title_li=511遇见'); ?>

4、列表中只显示ID为5、9、23的分类,并把列表标题改为 Poetry (下面的格式是为了把“要显示的数据”和“标签参数区分开来”)

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

  或者

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

title_li参数设置或隐藏一个标题或标题wp_list_categories生成的类别列表。它默认为”(__(类别)”,即它显示这个词“类别”列表的标题。如果这个参数设置为null或空值,不显示标题。下面的示例代码不包括类别id 4和7和隐藏列表标题:

<ul>
<?php wp_list_categories( array(
'exclude' => array( 4,7 ),
'title_li' => ''
) ); ?>
</ul>

5、只显示指定分类的子分类

显示ID为 8 的分类的子分类,根据ID排序,显示文章数,并且将分类描述作为连接的 title属性。注意:如果父分类没有文章,将不显示父分类。

<ul>
<?php wp_list_categories('orderby=id&show_count=1&use_desc_for_title=0&child_of=8'); ?>
</ul>

或者:

<ul>
<?php wp_list_categories( array(
'orderby' => 'id',
'show_count' => true,
'use_desc_for_title' => false,
'child_of' => 8
) ); ?>
</ul>

6、移除分类计数的括号
当 show_count=1 ,每个分类的后面都将显示文章数,同时使用括号包含。如果你要移除括号,可以使用下面的代码

<ul>
<?php $variable = wp_list_categories( array(
'echo' => false,
'show_count' => true,
'title_li' => '<h2>' . __( 'Categories', 'textdomain' ) . '</h2>'
) ); $variable = preg_replace( '~\((\d+)\)(?=\s*+<)~', '$1', $variable );
echo $variable;
?>
</ul>

7、显示分类和 RSS Feed 连接
根据分类名称进行排序,显示文章数量,并且显示每个分类的 RSS 订阅链接:

<ul>
<ul>
<?php wp_list_categories( array(
'orderby' => 'name',
'show_count' => true,
'feed' => 'RSS'
) ); ?>
</ul>
</ul>

使用Feed 图标替换文本,可以使用下面的代码:

<ul>
<?php wp_list_categories( array(
'orderby' => 'name',
'show_count' => true,
'feed_image' => '/images/rss.gif'
) ); ?>
</ul>

显示自定义分类法的项目:

在3.0版本添加了taxonomy 参数到  wp_list_categories() 。让你可以通过 taxonomy 参数来设置要显示的是哪种分类法下的分类项目。比如要显示分类法为 genre 的分类列表:

// List terms in a given taxonomy using wp_list_categories (also useful as a widget if using a PHP Code plugin)

$taxonomy     = 'genre';
$orderby = 'name';
$show_count = false;
$pad_counts = false;
$hierarchical = true;
$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>

显示文章对应的分类:

根据父-子关系来排序文章的分类。类似于 get_the_category_list() 函数(根据名称排序分类)。这个例子必须使用内循环。

$taxonomy = 'category';

// Get the term IDs assigned to post.
$post_terms = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'ids' ) ); // Separator between links.
$separator = ', '; if ( ! empty( $post_terms ) && ! is_wp_error( $post_terms ) ) { $term_ids = implode( ',' , $post_terms ); $terms = wp_list_categories( array(
'title_li' => '',
'style' => 'none',
'echo' => false,
'taxonomy' => $taxonomy,
'include' => $term_ids
) ); $terms = rtrim( trim( str_replace( '<br />', $separator, $terms ) ), $separator ); // Display post categories.
echo $terms;
}

标记和样式化分类列表

默认情况下, wp_list_categories() 生成的是无序列表(ul),使用 li 标签来包含每个分类,而且列表的标题为"Categories"。

你可以通过设置 title_li 为空值来隐藏标题。你可以自定义包装 有序列表或无序列表。如果你不需要以列表输出分类,可以将 style 参数设置为 none。

你可以根据下面的CSS选择器来样式化输出:

li.categories { ... }  /* outermost list item */
li.cat-item { ... }
li.cat-item-7 { ... } /* category ID #7, etc */
li.current-cat { ... }
li.current-cat-parent { ... }
ul.children { ... }

小结

1、官方文档:https://developer.wordpress.org/reference/functions/wp_list_categories/

2、因为我们没有必要再使用这个函数,最让我们心动的就是最后这个CSS的改变,这样可以让你更灵活的显示在前台,比如有人问,如何去掉函数中封装的 li 标签,这样问的原因我猜主要是它的布局不是采用了 li 标签,或者一些样式加布进去,所以你多多研究一下总后一个例子还是很有必要的。

3、如何去掉li

<?php wp_list_categories('style=none'); ?>

WordPress分类列表函数:wp_list_categories用法及参数详解举例的更多相关文章

  1. setsockopt()用法及参数详解

    setsockopt()用法(参数详细说明) int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen); ...

  2. 【C#基础知识】C#控制台程序入口函数 Main(string[] args) 参数详解

    测试环境vs2019+.net5.0 请看 :https://cloud.tencent.com/developer/article/1507934 本测试环境vs2022+.net6.0 +wind ...

  3. c语言main函数返回值、参数详解(返回值是必须的,0表示正常退出)

    C语言Main函数返回值 main函数的返回值,用于说明程序的退出状态.如果返回0,则代表程序正常退出:返回其它数字的含义则由系统决定.通常,返回非零代表程序异常退出. 很多人甚至市面上的一些书籍,都 ...

  4. shell编程——sed用法之参数详解

    sed格式: sed 参数 '正则表达式' 文件名 sed的常见参数有以下几种: 1.-n, --quiet, --silent 取消自动打印模式 不加n默认打印整个文件: [root@localho ...

  5. C#控制台程序入口函数 Main(string[] args) 参数详解

    学习C#编程最常见的示例程序是在控制台应用程序中输出Hello World! using System; namespace DemoMainArgs { class Program { static ...

  6. 熬夜总结vue3中setUp函数的2个参数详解

    1.setUp函数的第1个参数props setup(props,context){} 第一个参数props: props是一个对象,包含父组件传递给子组件的所有数据. 在子组件中使用props进行接 ...

  7. Linux挂载命令mount用法及参数详解

    导读 mount是Linux下的一个命令,它可以将分区挂接到Linux的一个文件夹下,从而将分区和该目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了. 挂接命令(mount) 首先,介绍 ...

  8. curl库pycurl实例及参数详解

    pycurl是功能强大的python的url库,是用c语言写的,速度很快,比urllib和httplib都快. 今天我们来看一下pycurl的用法及参数详解 常用方法: pycurl.Curl() # ...

  9. Wordpress菜单函数wp_nav_menu各参数详解及示例

    Wordpress菜单函数wp_nav_menu各参数详解及示例   注册菜单 首先要注册菜单,将以下函数添加至function.php函数里   register_nav_menus(array( ...

随机推荐

  1. poj2259 Team Queue

    吼哇,又是水题. 我本来准备开1010个queue的,但是STL容器里好像只有vector滋磁开组,于是只好数组模拟... 然后模拟过了...... #include <cstdio> # ...

  2. 快速傅里叶变换(FFT)

    扯 去北京学习的时候才系统的学习了一下卷积,当时整理了这个笔记的大部分.后来就一直放着忘了写完.直到今天都腊月二十八了,才想起来还有个FFT的笔记没整完呢.整理完这个我就假装今年的任务全都over了吧 ...

  3. SourceInsight快捷键

    下载安装与设置 https://blog.csdn.net/k346k346/article/details/77412413 常用设置总结的还是比较全面的 问题: SourceInsight4.0中 ...

  4. SecureCRT或XShell软件

    SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件. Xshell 是一个强大的安全终端模拟软件,它支持SSH1 ...

  5. TestNg 6.异常测试

    * 什么时候会用到异常测试??* 在我们期望结果为某一个异常的时候* 比如:我们传入了某些不合法的参数,程序抛出异常* 也就是我的预期结果就是这个异常看以下的一段代码: package com.cou ...

  6. _future_用法总结

    写这篇文章主要是参考以下两篇博客 https://blog.csdn.net/stan_pcf/article/details/60465665 https://www.liaoxuefeng.com ...

  7. 认识EasyUI——DataGrid的onClickRow事件

    关键代码: $("#dg2").datagrid({ onClickRow: function (index, row) { //easyui封装好的时间(被单机行的索引,被单击行 ...

  8. Numpy 笔记: 多维数组的切片(slicing)和索引(indexing)【转】

    目录 切片(slicing)操作 索引(indexing) 操作 最简单的情况 获取多个元素 切片和索引的同异 切片(slicing)操作 Numpy 中多维数组的切片操作与 Python 中 lis ...

  9. hadoop mapreduce 基础实例一记词

    mapreduce实现一个简单的单词计数的功能. 一,准备工作:eclipse 安装hadoop 插件: 下载相关版本的hadoop-eclipse-plugin-2.2.0.jar到eclipse/ ...

  10. 面向对象【day08】:类的起源与metaclass(二)

    本节内容 1.概述 2.类的起源 3.__new__方法 4.__metaclass__方法 一.概述 前面我们学习了大篇幅的关于类,通过类创建对象,那我们想知道这个类到底是怎么产生的呢?它的一切来源 ...