標籤雲是很多 WordPress 主題都有的一個主題元素,今天就講講如何為你的主題新增彩色標籤雲,包括邊欄呼叫和頁面呼叫。

1. 呼叫標籤雲

我們可以使用 wp_tag_cloud() 函式實現標籤雲的呼叫。比如下面的樣例:

  1. <?php wp_tag_cloud('smallest=12&largest=18&unit=px&number=0&orderby=count&order=DESC');?>

程式碼註釋:

smallest 表示標籤的最小字號

largest 表示最大字號

unit=px 表示字型使用畫素單位

number=0 表示顯示所有標籤,如果為 40,表示顯示 40 個

orderby=count 表示按照標籤所關聯的文章數來排列

order=DESC 表示降序排序 (ASC 表示升序排序,DESC 表示降序排序)

更多 wp_tag_cloud() 引數,請參考 WordPress 檔案 wp tag cloud

2. 新增彩色功能

根據上面的引數,你已經可以呼叫出標籤雲了,將下面的程式碼新增到主題的 functions.php 的最後一個 ?> 前面即可實現彩色:

  1. function colorCloud($text) {
  2.     $text = preg_replace_callback('|<a (.+?)>|i','colorCloudCallback', $text);
  3. return $text;
  4. }
  5. function colorCloudCallback($matches) {
  6.     $text = $matches[1];
  7. $color = dechex(rand(0,16777215));
  8.     $pattern = '/style=('|」)(.*)('|」)/i';
  9. $text = preg_replace($pattern"style="color:#{$color};$2;""$text);
  10.     return "<a $text>";
  11. add_filter('wp_tag_cloud', 'colorCloud', 1);

3. 製作標籤雲頁面

你可以看看主題貓的標籤雲頁面:http://ztmao.com/tags

1) 複製你主題的 page.php 檔案,在該檔案的頂部新增:

2) 使用下面的程式碼替換 page.php 中的 :

  1. <?php wp_tag_cloud('smallest=12&largest=18&unit=px&number=0&orderby=count&order=DESC');?>

3) 該頁面一般不需要評論功能,刪除 page.php 中下面的程式碼:

  1. <?php if (comments_open()) comments_template( '', true ); ?>

4) 你還可以根據自己的需要,刪除 page.php 中的某些功能,最後將該檔案另存為 page-tags.php ,這樣,一個標籤雲模板就做好了。

5) 訪問 WP 後臺-頁面-新建頁面,頁面名稱自己填,只需要在 頁面屬性 中,選擇 tags 模板即可:

4. 邊欄中呼叫標籤雲

你可以使用下面的函式呼叫,具體的修改方法,就靠你自己折騰主題了:

  1. <?php wp_tag_cloud('smallest=12&largest=18&unit=px&number=20');?>

不過,一般製作比較規範的 WordPress 主題,都支援 Widget 小工具,你可以在 WP 後臺-外觀-小工具 中檢視是否支援 標籤雲小工具。

說明:本文只是告訴你如何實現彩色標籤雲,以及如何呼叫。但是具體的樣式,就要靠你自己透過 CSS 程式碼實現了。