max 今天要跟大家分享一個無痛建置分類文章版型(single post templates)的方法,簡單來說,就是讓不同分類的文章,呈現不同的佈景版型。以今天的例子來說,分類一文章呈現的版型有右側側邊欄(圖一),分類二的文章則沒有右側側邊欄(圖二)。
建置分類文章版型的方法如下:
1. 複製佈景主題裡面的single.php另存成檔名single-2.php。single-2.php檔名中的2是指分類的ID號碼。至於要怎麼知道分類的ID呢?在管理介面的分類,將滑鼠移到分類上,可以在下方的狀態列看到分類的ID(category&tag_ID=2&post_type=pos)。
2. 開啟文字編輯程式編輯single-2.php,以這個例子來看,我們要去除右側側邊欄,因此將<!--?php get_sidebar(); ?-->
這一段語法刪除,修改好以後存檔然後上傳到佈景主題下(圖三)。
3. 一樣開啟文字編輯程式編輯佈景主題下的functions.php檔,加入一段程式碼:
1 |
add_filter('single_template', create_function('$t', 'foreach( (array) get_the_category() as $cat ) { if ( file_exists(TEMPLATEPATH . "/single-{$cat->term_id}.php") ) return TEMPLATEPATH . "/single-{$cat->term_id}.php"; } return $t;' )); |
4. 以上完成,分類二的文章版型右側邊欄已經不見了。
(圖一)分類文章版型一
(圖二)分類文章版型二
(圖三)建置分類文章版型