wordpress不同分類調用不同模板文件
用wordpress做站特別是企業站的時候,多個分類的內容不同需要顯示的頁面也不一樣,比如有些分類顯示的是產品縮略圖,有些顯示的是公司新聞公告等,此時需要不同的分類模板,雖然wordpress默認只有一個通用的分類模板,但是可以通過函數代碼實現不同的分類調用不同的模板。
實現WordPress不同分類調用不同模板的方法:
在當前WordPress主題的category.php文件中(沒有就新建一個),添加以下判斷代碼:
- $post = $wp_query->post;
- if(in_category('1')) {
- include(TEMPLATEPATH.'/category-1.php');
- }
- else if (in_category('2')){
- include(TEMPLATEPATH./'category-2.php');
- }
- else {
- include(TEMPLATEPATH.'/category-3.php');
- }
- ?>
該判斷函數表示:判斷分類ID是否為‘1’,如果是,則調用category-1.php模板,如果分類ID是2則調用category-2.php模板,如果以上兩者都不是則調用category-2.php模板
提醒:也可以用類似方法實現不同文章調用不同頁面,不同歸檔調用不同頁面等
在制作wordpress多欄目模板時,遇到不同的分類調用不同模板的情況,假如我的博客有分類PHP技術,ASP技術,每個分類需要調用不同的分類模板,發現一個簡單的調用方法,下面就讓夏日博客教大家如何調用不同的分類吧。
一、不同分類調用不同模板
- <?php
- $post = $wp_query->post;
- if ( in_category(‘7′) )
- {
- include(TEMPLATEPATH . ‘/archive-view.php’); }
- else if ( in_category(‘12′) )
- {
- include(TEMPLATEPATH . ‘/single12.php’);
- }
- else if ( in_category(‘42′) )
- {
- include(TEMPLATEPATH . ‘/single42.php’);
- }
- else { include(TEMPLATEPATH . ‘/archive-other.php’);
- }
- ?>
上面的代碼是摘自網絡上的一段代碼,將代碼放入到主題的分類文件archive.php中就可以了,in_category(’7′) 中間的數字代碼的是分類的ID,這個在后臺分類目錄中可以看到,而 archive-view.php 則是模板文件,需要在模板里面新建 single-view.php 文件才可以調用。
二、不同文章按照分類來調用不同模板
在不同的分類中調用了不同的模板,哪么分類下面的文章也需要調用當前分類的模板,看下下面的實現方法,
- <?php
- $post = $wp_query->post;
- if ( in_category(‘7′) ) {
- include(TEMPLATEPATH . ‘/single-view.php’);
- }
- else if ( in_category(‘3′))
- {
- include(TEMPLATEPATH . ‘/single-case.php’);
- }
- else if ( in_category(‘42′) )
- {
- include(TEMPLATEPATH . ‘/single42.php’);
- }
- else { include(TEMPLATEPATH . ‘/archive-other.php’);
- }
- ?>
和 wordpress 不同分類調用不同模板的文件基本一樣,就是調用的模板文件 single-view.php 有所不同,這個也同樣是需要新建的,這樣才可以調用到。當然這段代碼也是要放到文章模板頁 single.php 中的。
三、首頁調用不同的模板。
如果需要首頁調用單獨的模板,則可以在 archive.php 文件中加入如下的代碼則可以實現.
- <?php
- if (is_home() || is_front_page()) { ?>
- include(TEMPLATEPATH . ‘/home.php’);
- <?php } ?>
如果需要不同的單頁面或者是網站標簽 tag 也調用單獨的模板,則上面的解析代碼均可以用在 page 以及 tag 的模板上面,可以自己嘗試著修改一下~~
wordpress不同文章調用不同的模板文件
在文章頁面 single.php 中找到如下的代碼:
- <?php
- get_header();
- ?>
將其修改成如下代碼:
- <?php
- $header = get_post_meta($post->ID, "header", true);
- get_header($header);
- ?>
這樣在我們發布文章的時候,添加自定義字段 header,自定義字段值為 04ie,添加好后,調用的自定義模板則為 header-04ie.php 了,這個時候我們需要新建一個 header-04ie.php 的頭文件來作為模板調用。上面調用更換的為頭模板文件,當然側邊欄評論頁的模板原理都是一樣的。