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.pswp.cn/news/252705.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/252705.shtml
英文地址,請注明出處:http://en.pswp.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; 服務端主線程不忙死才…