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 = '' )

默认用法

<?phpwp_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'); ?>

 

转载于:https://www.cnblogs.com/cblx/p/8033080.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/252705.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DVP,LVDS和MIPI

Mipi 接口 和 LVDS 接口区别 主要区别&#xff1a; 1. LVDS接口只用于传输视频数据&#xff0c;MIPI DSI不仅能够传输视频数据&#xff0c;还能传输控制指令&#xff1b; 2. LVDS接口主要是将RGB TTL信号按照SPWG/JEIDA格式转换成LVDS信号进行传输&#xff0c;MIPI DSI接口则…

安装Cornerstone3.1注意点

mac在升级之后就不能社会做任何来源安装,需要在终端运行 sudo spctl --master-disable//添加任何来源的,再次安装就可以的转载于:https://www.cnblogs.com/chengenyan/p/6835970.html

2019我的目标

1 能考上自己理想的高中 2 至少学会一直种语言&#xff08;英语&#xff09; 3 坚持记录每一天&#xff0c;每个星期至少写一遍文章 4 坚持到底 转载于:https://www.cnblogs.com/ta20/p/10203974.html

nodejs开发——require与exports的使用

nodejs开发——require与exports的使用 另一片文章总结&#xff1a;http://www.cnblogs.com/hfultrastrong/p/8036682.html require require函数用于在当前模块中加载和使用别的模块&#xff0c;传入一个模块名&#xff0c;返回一个模块导出对象。模块名可使用相对路径&#x…

jvm 内存溢出问题排查方法

如果你做TCP通讯或者map集合操作&#xff0c;并发处理等功能时&#xff0c;很容易出现 Java 内存溢出的问题。本篇文章&#xff0c;带领大家深入jvm&#xff0c;分析并找出jvm内存溢出的代码。 jvm中除了程序计数器&#xff0c;其他的区域都有可能会发生内存溢出 内存溢出是什么…

一个go1.9.x 编译器内联引起的栈信息错乱的问题分析

2019独角兽企业重金招聘Python工程师标准>>> 背景是在写个日志库&#xff0c;日志库有个很重要的功能就是要打印出调用栈&#xff0c;知道具体是哪个文件&#xff0c;哪个函数调用的Info 等。 然后在测试中发现了一种写法&#xff0c;我自己本机测试一直ok&#xff…

CMOS Sensor的调试经验分享

转自&#xff1a;http://bbs.52rd.com/forum.php?modviewthread&tid276351 CMOS Sensor的调试经验分享      我这里要介绍的就是CMOS摄像头的一些调试经验。   首先&#xff0c;要认识CMOS摄像头的结构。我们通常拿到的是集成封装好的模组&#xff0c;一般由三个部…

Learn Python—表达式、数据类型、流程控制

表达式 在 Python 中&#xff0c;2 2 称为“表达式”&#xff0c;它是语言中最基本的编程结构。表达式包含“值”&#xff08;例如2&#xff09;和“操作符”&#xff08;例如&#xff09;&#xff0c;并且总是可以求值&#xff08;也就是归约&#xff09;为单个值。这意味着在…

监控工具之zabbix server3.4 部署配置

[rootlocalhost src]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) [rootlocalhost src]# pwd /usr/local/src 配置zabbix的yum源 [rootlocalhost src]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm …

CMOS Sensor基础知识

CMOS Sensor基础知识 曝光时间以行长为单位&#xff1b; PCLK以Hz为单位&#xff1b; 行长以周期数为单位&#xff0c;帧长以行长数为单位&#xff1b;其中周期数就是频率 T 周期以ms为单位&#xff1b; f 频率以Hz为单位&#xff1b; f 1 / T&#xff1b; Vsync Dummy Line…

java获取mp3的时长和播放mp3文件

所需包为jaudiotagger-2.2.6-SNAPSHOT.jar和jl1.0.1.jar。 import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream;import org.jaudiotagger.audio.AudioFileIO; import org.jaudiotagger.audio.mp3.MP3AudioHeader; import org.jaudiotag…

Redis 优缺点

REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。 Redis 与其他 key - value 缓存产品…

Python并发编程之concurrent.futures

2019独角兽企业重金招聘Python工程师标准>>> concurrent.futures模块提供了一个异步执行callables的高级接口。 可以使用ThreadPoolExecutor和ProcessPoolExecutor。 两者都继承了相同的接口&#xff0c;该接口由抽象的Executor类定义。 一个抽象类&#xff0c;提供…

1.3链表

链表的物理存储结构是用一组地址任意的存储单元存储数据的。不像顺序表占据连续的一段内存空间&#xff0c;而是将存储单元分散在内存的任意地址上。 链表结构中&#xff0c;每个数据元素记录都存放到链表的一个节点&#xff08;node&#xff09;中&#xff0c;而每个节点之间由…

移植opencv3.20到3556AV100

1.移植环境&#xff1a; Ubuntu14.04 arm-hisiv200-linux-opencv3.20 下载地址 2.移植步骤&#xff1a; 1&#xff09;安装cmake-gui 2&#xff09;新建一个opencv目录存放opencv-3.2.0.zip&#xff0c;并解压 击Browse Source选择~/hisi/opencv/opencv-3.2.0 点击Brow…

ngnix 详解

4 Nginx的rpm软件包安装 4.1 安装包在位置 D:\讲课内容--\新巴巴运动网\nginx高并发解决\nginx安装包 4.2 此种安装方式不用安装gcc等编译工具 4.3 安装命令如下 rpm –ivh nginx 5 配置虚拟主机 5.1 什么是虚拟主机 虚拟主机是一种特殊的软硬件技术&#xff0c;它可以将网络上…

iscroll5制作上下拉刷新 tab出现的问题

1.iscoll5插件刷新后如果想改变现实位置如果向下几px可以用 myScroll.scrollBy(0,0);方法&#xff0c;该值是相对当前位置。 2.iscoll5用到tab的时候&#xff0c;用点击生成iscoll对象出现取消不了之前的对象的绑定事件&#xff0c;点击多次后刷新执行多次的问题&#xff0c;解…

初谈逻辑读、物理读、预读

前言&#xff1a; 该文并不全是本人原创&#xff0c;里面的某些原理来自于CareySon。 SQL SERVER数据存储的形式 要理解逻辑读、物理读、预读这三个概念&#xff0c;先要搞懂SQL Server的数据存储方式。 SQL Server数据库包括数据文件和日志文件&#xff0c;一个数据库可以有一…

Makefile常用万能模板(包括静态链接库、动态链接库、可执行文件)

1、生成可执行文件的makefile2、生成静态链接库的makefile3、生成动态链接库的makefile 本文把makefile 分成了三份&#xff1a;生成可执行文件的makefile&#xff0c;生成静态链接库的makefile&#xff0c;生成动态链接库的makefile。 这些makefile都很简单&#xff0c;一般都…

TSQLDBServerHttpApi使用工作线程池

TSQLDBServerHttpApi使用工作线程池 TSQLDBServerHttpApi创建时&#xff0c;默认是使用单线程模式&#xff0c;且只使用一个数据库连接&#xff0c;服务端要应对众多的客户端只靠一个工作线程&#xff08;主线程&#xff09;和一个数据库连接&#xff0c; 服务端主线程不忙死才…