當前位置:
首頁 > 知識 > WordPress分類怎麼用不同的模板?Custom Category Templates試試

WordPress分類怎麼用不同的模板?Custom Category Templates試試

WordPress分類怎麼用不同的模板?Custom Category Templates試試

醬茄 jiangqie.com

WordPress插件Custom Category Templates 是一款簡單輕量級插件,允許你為每個類別選擇特定模板,就像頁面模板一樣。

安裝方法:後台-插件-搜索:Custom Category Templates 安裝並啟用,在編輯分類時會添加一個選擇模板的選項。

面是不用安裝插件的解決方法,可以直接添加到當前主題函數模板functions.php中即可。

// 分類選擇模板

class Select_Category_Template{

public function __construct() {

add_filter( "category_template", array($this,"get_custom_category_template" ));

add_action ( "edit_category_form_fields", array($this,"category_template_meta_box"));

add_action( "category_add_form_fields", array( &$this, "category_template_meta_box") );

add_action( "created_category", array( &$this, "save_category_template" ));

add_action ( "edited_category", array($this,"save_category_template"));

do_action("Custom_Category_Template_constructor",$this);

}

// 添加表單到分類編輯頁面

public function category_template_meta_box( $tag ) {

$t_id = $tag->term_id;

$cat_meta = get_option( "category_templates");

$template = isset($cat_meta[$t_id]) ? $cat_meta[$t_id] : false;

?>

<tr class="form-field">

<th scope="row" valign="top"><label for="cat_Image_url"><?php _e("Category Template"); ?></label></th>

<td>

<select name="cat_template" id="cat_template">

<option value="default"><?php _e("Default Template"); ?></option>

<?php page_template_dropdown($template); ?>

</select>

<br />

<span class="description"><?php _e("為此分類選擇一個模板"); ?></span>

</td>

</tr>

<?php

do_action("Custom_Category_Template_ADD_FIELDS",$tag);

}

// 保存表單

public function save_category_template( $term_id ) {

if ( isset( $_POST["cat_template"] )) {

$cat_meta = get_option( "category_templates");

$cat_meta[$term_id] = $_POST["cat_template"];

update_option( "category_templates", $cat_meta );

do_action("Custom_Category_Template_SAVE_FIELDS",$term_id);

}

}

// 處理選擇的分類模板

function get_custom_category_template( $category_template ) {

$cat_ID = absint( get_query_var("cat") );

$cat_meta = get_option("category_templates");

if (isset($cat_meta[$cat_ID]) && $cat_meta[$cat_ID] != "default" ){

$temp = locate_template($cat_meta[$cat_ID]);

if (!empty($temp))

return apply_filters("Custom_Category_Template_found",$temp);

}

return $category_template;

}

}

$cat_template = new Select_Category_Template();

原文來自:https://www.jiangqie.com/jc/6214.html

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 醬茄小程序 的精彩文章:

Regenerate Thumbnails讓WordPress重新生成特色圖像更簡單
教你怎麼修改WordPress後台註冊登錄界面LOGO和鏈接

TAG:醬茄小程序 |