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. Linux脚本点滴

    1.当硬盘空间不足15%时,循环删除最早的日志文件(ELK): #!/bin/bash for((i=20;i>=5;i-=1)) do code=`df /dev/mapper/ElkGrou ...

  2. linux server 产生大量 Too many open files CLOSE_WAIT激增

    情景描述:系统产生大量“Too many open files” 原因分析:在服务器与客户端通信过程中,因服务器发生了socket未关导致的closed_wait发生,致使监听port打开的句柄数到了 ...

  3. django 分类搜索(根据不同的单选框,改变form提交的地址)

    前端html部分form <form id="searchform" action="#" method="get" class=&q ...

  4. Java 多线程篇

    先举个例子 计算机的核心是CPU,它承担了计算机所有计算任务,可以把它理解为像一个工厂,时刻在运行. 假定工厂有一个电力系统,工厂有很多车间,一次只能供给一个车间使用,也就是说一个车间开工的时候,其他 ...

  5. 浅谈CSRF(Cross-site request forgery)跨站请求伪造(写的非常好)

    一 CSRF是什么 CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者X ...

  6. 第三十五节,目标检测之YOLO算法详解

    Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: You only look once: Unified, real-time object de ...

  7. GUI 设计

    GUI(图形化界面编程) Graphical  User  Interface (java.Awt    javax.Swing) CLI(命令行操作接口) Command  line  User   ...

  8. Luogu P2617 Dynamic Rankings

    带修主席树的模板,因为状态不好所以敲了很长时间,不过写完感觉能更好地理解主席树了. 核心其实就是树状数组套主席树,维护方法不再是以前的那种一步一修改,而是对于树状数组上的每一个点建立一棵权值线段树,然 ...

  9. C# 正则表达式中的顺序环视和逆序环视

    环视结构不匹配任何字符,只匹配文本中的特定位置. 顺序环视:从左向右查看文本,尝试匹配子表达式,如果能够匹配则返回匹配成功信息.顺序环视使用「 (?=...) 来标识」,例如「 (?=\d) 」,它表 ...

  10. css: position的使用;

    position有四种模式: static, relative, position, fixed; 1.static(静态定位):默认值.没有定位,元素出现在正常的流中(忽略 top, bottom, ...