WordPress分类列表函数:wp_list_categories用法及参数详解举例
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用法及参数详解举例的更多相关文章
- setsockopt()用法及参数详解
setsockopt()用法(参数详细说明) int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen); ...
- 【C#基础知识】C#控制台程序入口函数 Main(string[] args) 参数详解
测试环境vs2019+.net5.0 请看 :https://cloud.tencent.com/developer/article/1507934 本测试环境vs2022+.net6.0 +wind ...
- c语言main函数返回值、参数详解(返回值是必须的,0表示正常退出)
C语言Main函数返回值 main函数的返回值,用于说明程序的退出状态.如果返回0,则代表程序正常退出:返回其它数字的含义则由系统决定.通常,返回非零代表程序异常退出. 很多人甚至市面上的一些书籍,都 ...
- shell编程——sed用法之参数详解
sed格式: sed 参数 '正则表达式' 文件名 sed的常见参数有以下几种: 1.-n, --quiet, --silent 取消自动打印模式 不加n默认打印整个文件: [root@localho ...
- C#控制台程序入口函数 Main(string[] args) 参数详解
学习C#编程最常见的示例程序是在控制台应用程序中输出Hello World! using System; namespace DemoMainArgs { class Program { static ...
- 熬夜总结vue3中setUp函数的2个参数详解
1.setUp函数的第1个参数props setup(props,context){} 第一个参数props: props是一个对象,包含父组件传递给子组件的所有数据. 在子组件中使用props进行接 ...
- Linux挂载命令mount用法及参数详解
导读 mount是Linux下的一个命令,它可以将分区挂接到Linux的一个文件夹下,从而将分区和该目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了. 挂接命令(mount) 首先,介绍 ...
- curl库pycurl实例及参数详解
pycurl是功能强大的python的url库,是用c语言写的,速度很快,比urllib和httplib都快. 今天我们来看一下pycurl的用法及参数详解 常用方法: pycurl.Curl() # ...
- Wordpress菜单函数wp_nav_menu各参数详解及示例
Wordpress菜单函数wp_nav_menu各参数详解及示例 注册菜单 首先要注册菜单,将以下函数添加至function.php函数里 register_nav_menus(array( ...
随机推荐
- js 获取对象属性个数
js 获取对象属性个数 方法一: var attributeCount = function(obj) { var count = 0; for(var i in obj) { if(obj.hasO ...
- 【UR #3】链式反应
http://uoj.ac/problem/50 %炮姐 好博客 树形结构 枚举根节点的儿子是哪两个 然后列出方程: 然后有EGF的影子! 倍增? 泰勒展开可以把未知数从函数里拿出来!并且变成1次项, ...
- bzoj2007 NOI2010 海拔(对偶图)
80分(最小割)思路 先考虑如果没有题目中东南角为\(1\)那个限制的话会怎样. 那么只要让每个点的海拔都是\(0\)就行了.这样不论怎样走,最后的答案都是0. 然后再考虑那个东南角为\(1\)的限制 ...
- java面试——jvm
背景:用来总结java面试过程中与jvm相关的问题. 垃圾回收以及优化总结 <JVM 垃圾回收器工作原理及使用实例介绍> 介绍常用的垃圾回收算法,垃圾收集器,垃圾收集器相关的调试参数. J ...
- Nginx.conf配置文件参数说明与优化
参考连接:nginx 核心配置优化详解 先说下优化 1.nginx运行工作进程个数 worker_processes 1; Nginx进程,一般设置为和cpu核数一样(nginx启动后有多少个wor ...
- 使用postman测试dubbo服务层的方法
下面的项目用的是servlet3.0架构 接口(doubbo消费者项目和服务者项目共享的jar项目中): package serviceinvoke; import com.alibaba.dubbo ...
- struts2 contextMap
一.contextMap中的数据操作 root根:List 元素1 元素2 元素3 元素4 元素5 contextMap:Map key value application Map key value ...
- ES6学习:Map结构的目的和基本用法
Map结构的目的和基本用法 JavaScript的对象(Object)本质上是键值对的集合(Hash结构),但是只能用字符串作为键.这给它的使用带来了很大的限制. 1 2 3 4 5 6 7 8 ...
- TODO java-awt中文乱码--疑惑
参考:http://blog.sina.com.cn/s/blog_025270e90101b1db.html 1.IDE工具是eclipse,检查了编码是UTF-8,控制台中是中文,用awt就会乱码 ...
- POJ 3678 Katu Puzzle (2-SAT)
Katu Puzzle Time Limit: 1000MS ...