溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

wordpress 不同分類下的文章使用不同模版

發(fā)布時(shí)間:2020-06-20 03:07:33 來(lái)源:網(wǎng)絡(luò) 閱讀:1005 作者:csboyty 欄目:web開發(fā)

1、根據(jù)模板文件名進(jìn)行判斷
a、將下面的代碼添加到當(dāng)前主題的 functions.php 文件
/**

  • 不同分類使用不同的文章模板

  • From http://www.wpdaxue.com/custom...

*/
//定義模板文件所在目錄為 single 文件夾
define(SINGLE_PATH, TEMPLATEPATH . '/single');
//自動(dòng)選擇模板的函數(shù)

function wpdaxue_single_template($single) {    global $wp_query, $post;    //通過(guò)分類別名或ID選擇模板文件
    foreach((array)get_the_category() as $cat) :        if(file_exists(SINGLE_PATH . '/single-cat-' . $cat->slug . '.php'))            return SINGLE_PATH . '/single-cat-' . $cat->slug . '.php';        elseif(file_exists(SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php'))            return SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php';    endforeach;
}

//通過(guò) single_template 鉤子掛載函數(shù)
add_filter('single_template', 'wpdaxue_single_template');
b、在當(dāng)前主題的根目錄創(chuàng)建一個(gè)名為 single 的文件夾,然后根據(jù)不同分類創(chuàng)建不同的文件,命名格式為 single-cat-[分類別名或ID].php。請(qǐng)記得為所有分類創(chuàng)建自己的模板文件。

2、使用 in_category() 進(jìn)行判斷
in_category() 函數(shù)可以通過(guò)分類別名或ID判斷當(dāng)前文章所屬的分類,而且可以直接在循環(huán)(Loop)內(nèi)部和外部使用。

如果是單個(gè)分類 ID ,比如ID 為 2 ,可以這樣寫

in_category(2)
如果是單個(gè)分類別名,比如別名為 themes,可以這樣寫

in_category('themes')
如果是多個(gè)ID,可以這樣寫

in_category( array( 2,3,7) )
如果是多個(gè)別名,可以這樣寫

in_category( array( 'themes','plugins','develop') )
們可以在主題的根目錄創(chuàng)建3個(gè)文章模板文件,分別命名為 single001.php , single002.php 和 single003.php,然后我們希望 ID 為 2 和 3 的分類使用 single001.php,ID為 7 的分類使用 single002.php ,其他分類使用 single003.php

<?php if ( in_category(array( 2,3 )) ) {
    get_template_part('single001' );
} elseif ( in_category( 7 )) {
    get_template_part('single002' );
} else {
    get_template_part('single003' );
}?>


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI