當(dāng)前位置:首頁(yè)>WordPress建站>WordPress開發(fā)>WordPress函數(shù):wp_tag_cloud(標(biāo)簽云)

WordPress函數(shù):wp_tag_cloud(標(biāo)簽云)

說明

wp_tag_cloud() 函數(shù)的作用是用來標(biāo)簽云的,可以根據(jù)每個(gè)標(biāo)簽所關(guān)聯(lián)的文章次數(shù)來定義字體大小、標(biāo)簽排序等屬性。從 2.8 版本開始,添加了 分類法(taxonomy)參數(shù),這就意味著,除了 標(biāo)簽(tags)以外,還可以將 分類(Categories) 或其他 自定義分類法(Custom Taxonomies)作為“云”顯示。

用法

<?php wp_tag_cloud( $args ); ?> 

默認(rèn)用法

<?php $args = array(
'smallest'                  => 8, 
'largest'                   => 22,
'unit'                      => 'pt', 
'number'                    => 45,  
'format'                    => 'flat',
'separator'                 => "\n",
'orderby'                   => 'name', 
'order'                     => 'ASC',
'exclude'                   => null, 
'include'                   => null, 
'topic_count_text_callback' => default_topic_count_text,
'link'                      => 'view', 
'taxonomy'                  => 'post_tag', 
'echo'                      => true,
'child_of'                   => null(see Note!)
); ?> 

注: child_of 不是一個(gè)直接的 wp_tag_cloud 數(shù)組的鍵(Key),但由于這個(gè)函數(shù)使用 wp_parse_args() 和 get_terms() ,你可以通過 get_terms() 使用所有的數(shù)組鍵。

默認(rèn)情況下的輸出內(nèi)容:

  • smallest —— 最小的標(biāo)簽(使用次數(shù)最少)顯示大小為8
  • largest ——最大的標(biāo)簽(使用次數(shù)最多)顯示大小為22
  • unit —— 最大值最小值的單位為’pt’
  • number —— 至多顯示45個(gè)標(biāo)簽
  • format —— 以平面形式顯示所有標(biāo)簽(標(biāo)簽之間用空格隔開)
  • separator —— 顯示標(biāo)簽之間的空格
  • orderby —— 按名稱為標(biāo)簽排序
  • order —— 以升序排列
  • exclude —— 不排除任何標(biāo)簽
  • include —— 包括所有標(biāo)簽
  • topic_count_text_callback —— 使用函數(shù) default_topic_count_text
  • link —— 可視
  • taxonomy —— 用文章的標(biāo)簽作為云基礎(chǔ)
  • echo —— 輸出結(jié)果

參數(shù)

smallest

(整數(shù))(可選)使用次數(shù)最少的標(biāo)簽的字號(hào)大小(單位由unit參數(shù)決定)

默認(rèn)值:8

largest

(整數(shù))(可選)使用次數(shù)最多的標(biāo)簽的字號(hào)大小(單位由unit參數(shù)決定)

默認(rèn)值:22

unit

(字符串)(可選)對(duì)smallestlargest的值的測(cè)量單位。可以是任何CSS長(zhǎng)度單位,如pt, px, em, %。

默認(rèn)值:’pt’

number

(整數(shù))(可選)顯示在云中的實(shí)際標(biāo)簽數(shù)。(值為’0’時(shí)顯示所有標(biāo)簽)

默認(rèn)值:45

format

(字符串)(可選)所顯示的云的格式。

  • ‘flat’ (默認(rèn)值)標(biāo)簽被“separator”參數(shù)所定義的空格分隔
  • ‘list’ 標(biāo)簽與class=’wp-tag-cloud’ 共同在UL中
  • ‘array’ 標(biāo)簽在數(shù)組中,函數(shù)以數(shù)組方式返回標(biāo)簽云,以用在PHP中。注意:數(shù)組被返回,而非顯示。

separator

(字符串)(可選)標(biāo)簽之間的文本/空格。

默認(rèn)值:’\n’ (空格)

orderby

(字符串)(可選)標(biāo)簽的排列依據(jù)。有效值包括:

  • ‘name’ (默認(rèn)值)
  • ‘count’

order

(字符串)(可選)排列順序(升序或降序)。有效值包括(必須大寫):

  • ‘ASC’ ——升序(默認(rèn)值)
  • ‘DESC’ ——降序
  • ‘RAND’ —— 隨機(jī)

exclude

(字符串)(可選)將要被排除的標(biāo)簽(term_id)的ID,各ID用逗號(hào)隔開。如 ‘exclude=5,27’表示不顯示term_id為5或27的標(biāo)簽。默認(rèn)值為不排除任何標(biāo)簽。

include

(字符串)(可選)要包含的標(biāo)簽(term_id)列表,各ID用逗號(hào)隔開。例如, ‘include=5,27’ 表示只顯示term_id為5或27的標(biāo)簽。默認(rèn)為包含所有鏈接。

topic_count_text_callback

(字符串)(可選)給出標(biāo)簽所關(guān)聯(lián)的文章數(shù),返回標(biāo)簽鏈接的用于 tooltip 的文本。

默認(rèn)值: default_topic_count_text

link

(字符串)(可選)設(shè)置鏈接,允許編輯某個(gè)指定標(biāo)簽。有效值包括:

  • ‘view’ (默認(rèn)值)
  • ‘edit’

taxonomy

(字符串)(可選)用以生成云的分類法。

  • ‘post_tag’ —— (默認(rèn)值)將文章標(biāo)簽當(dāng)作云的來源
  • ‘category’ —— 用文章分類生成云
  • ‘link_category’ —— 用鏈接分類目錄生成云
  • 任何其他已注冊(cè)的分類法
  • 或者一組 分類法 (注:此參數(shù)引入于 3.1 版本)

echo

(布爾型)(可選)顯示結(jié)果,或?qū)⒔Y(jié)果保留在變量中。默認(rèn)值為true(顯示標(biāo)簽云)。有效值包括:

  • 1 (true) —— 默認(rèn)值
  • 0 (false)

例子

顯示標(biāo)題為Popular Tags的云

<?php if ( function_exists('wp_tag_cloud') ) : ?>

<h2>Popular Tags</h2>
<ul>
<li><?php wp_tag_cloud('smallest=8&largest=22'); ?></li>
</ul>

<?php endif; ?>

限制標(biāo)簽大小且以使用次數(shù)而非名稱排列標(biāo)簽的云

<?php wp_tag_cloud('smallest=15&largest=40&number=50&orderby=count'); ?>

以數(shù)組形式返回云,但不顯示

在變量$tag中包含標(biāo)簽云,以用在其它PHP代碼中

 <?php $tag = wp_tag_cloud('format=array' );?>

顯示分類云

使用分類法(taxonomy)參數(shù)定義顯示分類云

<?php 
wp_tag_cloud( array( 'taxonomy' => 'category' ) ); 
?>

顯示 分類 和 標(biāo)簽 云

使用分類法數(shù)組將分類和標(biāo)簽顯示為云

<?php 
  $args = array(
    'taxonomy'  => array('post_tag','category'), 
   ); 
   
  wp_tag_cloud($args);
?>

更改云鏈接的標(biāo)題文本

使用 topic_count_text_callback 參數(shù)傳遞一個(gè)新的返回函數(shù)。原始函數(shù) default_topic_count_text() 位于 /wp-includes/category-template.php 。這個(gè)例子使用“pictures”替換默認(rèn)的“topics”:

<?php 
wp_tag_cloud( array( 'topic_count_text_callback' => 'my_tag_text_callback' ) ); 

function my_tag_text_callback( $count ) {
 return sprintf( _n('%s picture', '%s pictures', $count), number_format_i18n( $count ) );
}
?>

創(chuàng)建標(biāo)簽存檔頁(yè)面

從 2.3 版本開始,標(biāo)簽云可以制作成一個(gè)標(biāo)簽存檔頁(yè)面。這就意味著,用戶可以點(diǎn)擊某個(gè)標(biāo)簽,然后查看到該使用該標(biāo)簽的所有文章。根據(jù) 模板層級(jí)(Template_Hierarchy),如果tag.php模板不存在,那么就使用archives.php模板。通過tag,php模板你可以自定義標(biāo)簽存檔索引的樣式,為方便導(dǎo)航,模板會(huì)在最上方包含標(biāo)簽云。

要將標(biāo)簽云顯示在模板上方,你需要將一個(gè)新模板添加到主題文件中。模板、模板層級(jí) 中有相關(guān)介紹。基礎(chǔ)步驟包括:

1. 用下面的內(nèi)容創(chuàng)建一個(gè)文件,命名為tag.php

2. 將新文件上傳到主題目錄下

3. 如果你希望在頁(yè)面導(dǎo)航中加入一個(gè)指向標(biāo)簽索引的鏈接,可進(jìn)行第三步驟,否則點(diǎn)擊某個(gè)標(biāo)簽時(shí)會(huì)使用新模板。

  • 用新模板新建一個(gè)空白頁(yè)面,將頁(yè)面命名為標(biāo)簽存檔索引。

對(duì)第三步的進(jìn)一步闡述:

WordPress可為不同頁(yè)面使用不同頁(yè)面模板。在 頁(yè)面>添加新頁(yè)面 界面的最下方(或是側(cè)邊欄,取決于你安裝的WordPress版本)有一個(gè)名為“頁(yè)面模板”的下拉式菜單。你可以在這里選擇顯示某個(gè)頁(yè)面所用的模板。

<?php /*
Template Name: Tag Archive
*/ ?>
<div>
<?php get_header(); ?>
<h2>Tag Archive</h2>
<?php wp_tag_cloud(''); ?>
	<div class="navigation">
<div class="alignleft"><?php next_posts_link('? Older Entries') ?></div>
<div class="alignright"><?php previous_posts_link('Newer Entries ?') ?></div>
	</div>
<?php if (have_posts()) : ?>
		<?php while (have_posts()) : the_post(); ?>
		<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2>
	<div class="entry">
	<?php the_content('Read the rest of this entry ?'); ?>
	</div>

	<?php endwhile; ?>
	<?php endif; ?>
</div>
<?php get_footer(); ?>

注意:模板還沒有添加樣式。通過查看single.php主題文件可以了解你的主題所用的結(jié)構(gòu)。

函數(shù)歷史

  • 3.1 添加傳遞分類法數(shù)組的功能參數(shù)
  • 2.9 添加 separator 參數(shù)
  • 2.8 添加 taxonomy 和 echo 參數(shù)
  • 2.7 添加 link 參數(shù)
  • 2.5 在order參數(shù)下新增’RAND’順序 ;format=array 返回?cái)?shù)組
  • 該標(biāo)簽始見于WordPress 2.3

源文件

wp_tag_cloud() 位于 wp-includes/category-template.php

聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺(tái)。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。

給TA打賞
共{{data.count}}人
人已打賞
歡迎關(guān)注WordPress大學(xué)公眾號(hào) WPDAXUE
WordPress開發(fā)

WordPress函數(shù):wp_list_categories(分類列表)

2013-4-21 10:05:32

WordPress開發(fā)

根據(jù)用戶郵箱顯示Gravatar頭像

2013-4-25 7:56:38

16 條回復(fù) A文章作者 M管理員
  1. may

    倡萌 我的標(biāo)簽云有個(gè)問題
    就是 進(jìn)入標(biāo)簽云存檔頁(yè)tag的時(shí)候除了首頁(yè)的鏈接沒變 其他導(dǎo)航的鏈接都變了
    比如在存檔頁(yè)http://localhost:8899/tag/js/
    想跳轉(zhuǎn)回 關(guān)于我們的頁(yè)面
    但是鏈接是這樣的http://localhost:8899/tag/js/about
    正確的about 的鏈接應(yīng)該是http://localhost:8899/about/
    ———————————————————————–
    這個(gè)是什么原因呢???

    • 網(wǎng)站編輯

      添加鏈接的時(shí)候,不要使用相對(duì)地址,請(qǐng)使用完整的絕對(duì)地址

    • may

      好的 已解決 非常感謝!

  2. 動(dòng)感單車網(wǎng)

    這是個(gè)相當(dāng)技術(shù)的活,咱是連看都還不大看得明白!

  3. cain

    這個(gè)標(biāo)簽云是否可以顯示最新添加的標(biāo)簽?zāi)亍?/p>

  4. 要顯示自己設(shè)定的標(biāo)簽要怎么寫?

  5. 怎么你的回答那么像我大學(xué)一個(gè)同學(xué)的口吻

  6. 倡萌,有沒有發(fā)現(xiàn)一個(gè)很奇怪的現(xiàn)象,只是要代碼很長(zhǎng)的,操作比較復(fù)雜的,一般回的人都比較的少,能完全看完就不錯(cuò)了。是不是因?yàn)檫@個(gè)是快餐年代?哈哈

    • 如果他真的想學(xué)習(xí)知識(shí),或者真的用心研究,是不會(huì)嫌代碼長(zhǎng)的。

    • 網(wǎng)站編輯

      免費(fèi)主機(jī)同理

    • 這種代碼是給需要寫模板的人查閱的,一般人回復(fù)干嘛?

  7. 很詳細(xì)的介紹,以前為了找tags函數(shù)的用法費(fèi)老事啦

?
個(gè)人中心
購(gòu)物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索

巫溪县| 辽中县| 益阳市| 剑阁县| 临洮县| 寻乌县| 伊吾县| 镇赉县| 潍坊市| 怀宁县| 九台市| 高碑店市| 凤阳县| 延边| 武山县| 酒泉市| 攀枝花市| 万山特区| 九台市| 宜君县| 盐亭县| 黄冈市| 龙南县| 镇康县| 玉溪市| 新乡市| 饶阳县| 梁平县| 图木舒克市| 西安市| 克东县| 共和县| 宜州市| 繁昌县| 南郑县| 茶陵县| 社会| 花垣县| 盐城市| 新乐市| 永平县|