導航列 (breadcrumb) 對一些網站來說是很有用的,當網站內容多而層次又深時,真的很容易令人迷失方向。在網站內加入導航列,在瀏覽網站時就可以方便地跳回上層。
大部分 Wordpress 的 Template 都沒有導航列,因此很多朋友需要導航列時,首先想到的就是安裝插件。其實 Wordpress 有一個 Function (get_category_parents) ,加入在 Template 內就可顯示導航列,並不需要使用插件。
如果你還是不清楚什麼是導航列,看看以下例子:
主頁 > 產品 > 玩具 > 洋娃娃 >
純粹用 Wordpress 寫 blog 的朋友未必需要導航列,不過若用 Wordpress 當作內容管理系統 CMS 時導航列就很有用。
首先看看 get_category_parents 的用法:
get_category_parents(category, display link, separator, nice name);
category: category id
display link: 是否顯示連結 (Default: false)
separator: 即是用什麼符號分隔 category 和 sub-category
nice name: 是否顯示 category 的 nicename (Default: false)
不知為什麼 Wordpress 的官方網站沒有這 Function 的文件,不過大家可參考這網頁,而使用的方法,則可參考 WordPress Categories Breadcrumb Navigation。
其實使用這 Function 最重要是知道如何找出正確的 category id。Wordpress 的內容,主頁之外 (主頁一般不需要顯示導航列吧),可分為由 category 和 single post 兩個頁面顯示,在 template 內,分別是 category.php (或 archive.php) 和 single.php 這兩個檔案,而在兩個頁面中, category id 是由不同的方法取得。
在 single.php (即顯示一個 post 的頁面),加入導航列的方法就如上述連結的教學,先要取得 category id,因此加入的方法是:
而在 category.php / archive.php (即顯示一個 category 內的 posts 的頁面),則 category id 已儲存在 $cat 內,因此加入的方法可簡化為:
以上方式的最大限制是如果你的 post 是屬於多個 category,則製作的導航列未必合你心意。





留言
寫下留言