wordpress分類法 wordpress文章分類插件

如何在WordPress 3.0中使用自定義分類法

是自定義文章類型的分類嗎?

創(chuàng)新互聯(lián)建站專注于寧鄉(xiāng)企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。寧鄉(xiāng)網(wǎng)站建設(shè)公司,為寧鄉(xiāng)等地區(qū)提供建站服務(wù)。全流程按需求定制網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

先register_post_type()注冊文章類型

然后

register_taxonomy()注冊自定義分類

如何在wordpress 3.0中使用自定義分類法

WordPress 3.0五大新特征是WordPress為了邁向一個成功的內(nèi)容管理系統(tǒng)努力的印證。之前,我們向大家介紹過WordPress3.0的新功能,自定義發(fā)布內(nèi)容的類型,這篇文章將繼續(xù)給大家講一下WordPress3.0另一個比較突出的新功能,自定義分類法。什么是自定義分類法函數(shù),它的實(shí)用性表現(xiàn)在哪里?究竟該如何使用?請看下面的教程:

什么是自定義分類法函數(shù)?

分類法函數(shù)顧名思義就是使用不同的方法來對事物進(jìn)行分類的函數(shù)。大家都知道按照不同的分類標(biāo)準(zhǔn),對某種事物的分類就會大相徑庭,本教程將以臺式電腦為例,依據(jù)下面完全不同的標(biāo)準(zhǔn)來分其結(jié)果就不一樣:

隨機(jī)存儲的容量

硬盤驅(qū)動器的大小

CPU速度

CPU類型

安裝的操作系統(tǒng)

等等

WordPress分類法函數(shù)歷史簡介

類別分類

WordPress2.3之前的版本只有一個最為普通的分類法函數(shù),

叫做文章的“類別(Category)”。這個對于博客來說也還算過得去,因?yàn)槟憧梢詣?chuàng)建一個頂層分類“臺式電腦”,一個子分類“RAM,”它同樣也可以

有子子分類:“小于1 GB,” “1 GB,” “2 GB到4GB,”

等等?!芭_式電腦”下也可以創(chuàng)建一個叫做“操作系統(tǒng)的”第二個子分類,它下面的子子分類為“Windows XP,” “Mac OS,” “Red

Hat,” “Ubuntu,”等等。

當(dāng)某種系統(tǒng)允許你將分類進(jìn)行再次分為各種子分類,我們稱之為層級結(jié)構(gòu)。在WordPress2.3之前的系統(tǒng)里,你所能做到最好的就是創(chuàng)建一個龐大的分類層級,其中最高層代表最大的分類組。

標(biāo)簽分類法

WordPress2.3又增加了一種分類法,叫做標(biāo)簽,之前的分類通常都是事先想好了,具體到網(wǎng)站上內(nèi)容的分類,而標(biāo)簽顯得更加自由,可以說是一種即興分類內(nèi)容的方法。

舉個例子,在寫一篇關(guān)于某個臺式電腦的文章時,標(biāo)簽允許制作輸入一個或多個關(guān)鍵詞,如“游戲” 、“tivo功能”

、“嘈雜風(fēng)扇”等等。像這些關(guān)鍵詞可能并不適合于運(yùn)用于整個網(wǎng)站內(nèi)容的分類中,但是對某篇文章來說卻是提供了另一種分類。網(wǎng)站訪客以后就可以非常輕松找到

所有標(biāo)記為“tivo功能”的文章。不過,標(biāo)簽的自由性卻無法幫助我們創(chuàng)建一個固定的依據(jù)如操作系統(tǒng)、CPU類型值而做出的分類系統(tǒng)。因?yàn)闃?biāo)簽是一維的,

不容許任何層級結(jié)構(gòu)。

單級自定義分類法

Wordpress2.8下,通過稍微修改網(wǎng)站的代碼你可以添加自定義分類方案。這樣你可以創(chuàng)建一個包含所有“操作系統(tǒng)"的文章列表,并與另一個包含所有

“隨機(jī)存儲器”的文章列表單獨(dú)分開,當(dāng)然還可以創(chuàng)建其他類似的列表。不過,它卻無法像常見的“類別”分類法擁有內(nèi)在的層級結(jié)構(gòu)。

完全層次自定義分類法

最后,WordPress3上才可以擁有完全層級的自定義分類法。你將會發(fā)現(xiàn)這個完全層級自定義分類是多么強(qiáng)大,就拿操作系統(tǒng)來說,你可以將所有不同的

Windows變種放置到Windows父類別下。這樣用戶選擇Windows操作系統(tǒng)的時候就可以看到所有相關(guān)的文章,而如果他們想只查找

Windows xp電腦相關(guān)的信息就可以選擇Windows XP下的文章。

創(chuàng)建一個自定義分類法

編輯主題functions.php文件

WordPress3無法在管理后臺創(chuàng)建自定義的分類法。如果不使用插件初次定義一個自定義分類法時,你將需要在主題 functions.php文件里添加點(diǎn)代碼,其實(shí)也不難,跟著下面的指示就可以了。

在主題目錄里找到“functions.php”文件,假設(shè)你使用的是WordPress3.0的默認(rèn)主題“twentyten”,WordPress是安裝在一個叫做“wp.”的目錄下,那么functions.php文件的路徑就是:

[website_root]/wp/wp-content/themes/twentyten/functions.php.

在代碼中添加分類法

仍然以臺式電腦為例,我們需要單獨(dú)添加“隨機(jī)存儲器”、“硬盤驅(qū)動器”和“操作系統(tǒng)”這樣的分類。在這里,僅僅是添加了分類法本身,也就是說設(shè)定完之后它們就像是一個“空的容器”,而你需要通過管理面板那命名管理不同分類,如“Windows XP”。

步驟一:使用一個函數(shù)創(chuàng)建所有的分類

首先,需要創(chuàng)建一個函數(shù)來創(chuàng)建所有需要的分類。這個函數(shù)叫做“build_taxonomies”,在functions.php文件的底端添加這個函數(shù):

function build_taxonomies() { // 定義分類法的代碼將寫在這里 }

步驟二:定義分類法

接著,對于每個需要創(chuàng)建的分類法,我們需要啟用某個WordPress函數(shù)以及正確的參數(shù)。下面就是該函數(shù)以及它相關(guān)的重要參數(shù)的解釋。

register_taxonomy( 'internal_name', 'object_type', array( 'hierarchical' =

{true|false}, 'label' = 'Human Readable Name', 'query_var' =

{true|false}, 'rewrite' = {true|false} ) );

internal_name: 在WordPress內(nèi)部,數(shù)據(jù)庫和模板文件中這個分類法究竟該怎么稱呼就是靠這個函數(shù)來實(shí)現(xiàn)的。

object_type:什么類型的內(nèi)容才可以用這個分類法進(jìn)行分了呢?可能的值有:“文章(post), 頁面(page)以及鏈接(link)”。

接著就是一組可選擇的參數(shù)。本教程就使用最為重要的幾個參數(shù),其他參數(shù)大家也可以在官方的引用函數(shù)/ register_taxonomy Codex頁面上找到。我們將使用到的參數(shù)有:

hierarchical: 如果設(shè)置為"true"的話,意味著此分類法擁有的層級功能,就像WordPress“類別”的分類一樣。反之,如果設(shè)置為‘false’,那么它就會像標(biāo)簽一樣靈活沒有分層的制約。

label: 這是一個對用戶可見的用戶標(biāo)記此分類法的一個標(biāo)記。

query_var: 如果設(shè)置為‘true’,那么選擇該分類法后,我們可以要求WordPress為我們選擇相關(guān)的文章,例如,依據(jù)操作系統(tǒng)分類法,如果選擇“Windows”,WordPress系統(tǒng)就會為你列出所有Windows下的文章。

rewrite: 如果設(shè)置為‘true’,在瀏覽一個頁面時,WordPress將會使用友好的URL地址。例如,選擇Windows操作系統(tǒng)之后列出的文章列表頁面的URL地址將會是這樣的:

添加操作系統(tǒng)分類法的代碼如下:

register_taxonomy( 'operating_system', 'post', array( 'hierarchical' = true,

'label' = 'Operating System', 'query_var' = true, 'rewrite' = true ) );

請在前面提到的“build_taxonomies”函數(shù)里添加上面的代碼。

更多信息:

參閱這里

第三步:調(diào)用Taxonomy-Creating函數(shù)

我們還需要在“functions.php”文件里添加幾行代碼,這樣“build_taxonomies”函數(shù)才可以真正執(zhí)行,

add_action( 'init', 'build_taxonomies', 0 );

你可以在任何地方加這個代碼,不過通常還是寫在需要調(diào)用的函數(shù)前面比較好,代碼就變成這樣了:

//自定義分類法代碼add_action( 'init', 'build_taxonomies', 0 );

function build_taxonomies() { register_taxonomy

( 'operating_system', 'post', array( 'hierarchical' = true, 'label' =

'Operating System', 'query_var' = true, 'rewrite' = true ) ); }

給新的分類法添加類別

正確在“functions.php”添加了“操作系統(tǒng)”這個分類法之后,在管理后臺的“文章”選項就應(yīng)該會出現(xiàn)一個新的“操作系統(tǒng)”分類條目,點(diǎn)擊該分類法名稱,你就可以添加編輯所需要的類別。

像上圖所示添加完所需的類別之后,你就可以像常見的文章分類目錄一樣對操作系統(tǒng)這個分類進(jìn)行編輯。

添加更多分類法

如果你需要添加“隨機(jī)存儲器”和“硬盤驅(qū)動器”分類法,只要按照上面“操作系統(tǒng)”的例子做,并在functions.php文件加入下面的代碼:

register_taxonomy( 'ram', 'post', array( 'hierarchical' = true,

'label' = 'RAM', 'query_var' = true, 'rewrite' = true ) );

register_taxonomy( 'hard_drive', 'post', array( 'hierarchical' = true,

'label' = 'Hard Drive', 'query_var' = true, 'rewrite' = true ) );

完成之后,functions.php文件里的代碼應(yīng)該像下面這樣:

// 自定義分類法代碼 add_action( 'init', 'build_taxonomies', 0 );

function build_taxonomies() { register_taxonomy( 'operating_system', 'post',

array( 'hierarchical' = true, 'label' = 'Operating System', 'query_var' = true,

'rewrite' = true ) ); register_taxonomy( 'ram', 'post', array( 'hierarchical' = true,

'label' = 'RAM', 'query_var' = true, 'rewrite' = true ) );

register_taxonomy( 'hard_drive', 'post', array( 'hierarchical' = true,

'label' = 'Hard Drive', 'query_var' = true, 'rewrite' = true ) ); }

使用新的分類法發(fā)布文章

在創(chuàng)建一篇新的文章時,你就會發(fā)現(xiàn)在編輯文章的頁面會出現(xiàn)新的分類法選項,你就可以旋轉(zhuǎn)任何你需要使用到的分類。

顯示文章的不同分類法

到目前為止所做的一切對于網(wǎng)站的訪客來說并沒有太大的改善。我們希望能夠顯示某篇文章依據(jù)某種分類法所歸屬的類別,就像文章的類別和標(biāo)簽?zāi)菢语@示出來。

為了實(shí)現(xiàn)這點(diǎn),我們還需要做一點(diǎn)點(diǎn)改善。

在各個分類法的頁面顯示它們下面的類別

在twentyten以及其他很多主題中,在一篇文章的文本下方會顯示該文章所屬的類別和標(biāo)簽。 所以,下面我們打算如果某篇文章有使用了自定義的分類法對它進(jìn)行分類的話,那么就在類別和標(biāo)簽的前面加上依據(jù)自定義分類法它所歸屬的分類。

為了實(shí)現(xiàn)這一點(diǎn),我們需要對“single.php”模板文件進(jìn)行一點(diǎn)修改,通常顯示單篇文章都需要調(diào)用這個模板文件。single.php文件的路徑

是: [website_root]/wp/wp-content/themes/twentyten/single.php.

第一步:找到添加代碼的地方

打開single.php文件,找到下面這行代碼:

div class="entry-utility"

它的前面是:

div id="nav-below"

In twentyten主題里面,div里包含了當(dāng)前文章的所屬類別、標(biāo)簽、永久鏈接以及其他數(shù)據(jù)。 我們將在這個div的前面添加自定義分類的信息。

第二步:獲取當(dāng)前文章的分類法信息

Populate some variables for holding the taxonomy information output and

the different taxonomy information we may expect to find.

?php // 如果有自定義分類法信息就顯示

// 創(chuàng)建輸出的內(nèi)容 $taxo_text = "";

// 變量來存儲所有可能的分類法列表

// 檢查“操作系統(tǒng)”這個類別

$os_list = get_the_term_list( $post-ID, 'operating_system', '

strongOperating System(s):/strong ', ', ', '' );

在這里,需要調(diào)用WordPress函數(shù)“get_the_term”以及下面的參數(shù):

$post-ID : 當(dāng)前文章的ID

‘operating_system’ : 我們的目標(biāo)自定義分類,通過它來查詢當(dāng)前文章是否有被定義為“操作系統(tǒng)”分類法下的任何類別。

‘Operating System(s)’ : 如果得到數(shù)值返回,我們需要在它的前面加上這個字符串。

‘, ‘ : 如果返回多個數(shù)值,我們需要用這個符號來分隔開來。

” : 如果沒有返回任何數(shù)值,我們希望在后面加上這個字符串。這樣,結(jié)果后面就不需要添加任何東西。

同樣地我們可以對其他兩個分類法進(jìn)行處理:

$ram_list = get_the_term_list( $post-ID, 'ram', 'strongRAM Option(s):

/strong ', ', ', '' ); $hd_list = get_the_term_list( $post-ID, 'hard_drive', '

strongHard Drive Option(s):/strong ', ', ', '' );

更多信息:

參閱這里

第三步:對類別的結(jié)果進(jìn)行格式化(如果有)

先查詢是否有這三個分類法下的類別。如果有的話,將這些類別信息以及字符串添加到輸出結(jié)果中輸出。

// Add OS list if this post was so tagged if ( '' != $os_list )

{ $taxo_text .= "$os_listbr /\n"; }

// Add RAM list if this post was so tagged if ( '' != $ram_list )

{ $taxo_text .= "$ram_listbr /\n"; }

// Add HD list if this post was so tagged if ( '' != $hd_list )

{ $taxo_text .= "$hd_listbr /\n"; }

第四步:顯示類別結(jié)果(如果有)

檢查經(jīng)過以上步驟是否會有分類法信息需要輸出。如果分類法信息存在,我們將會通過類別div來輸出結(jié)果。

// Output taxonomy information if there was any

// NOTE: We won't even open a div if there's nothing to put inside it.

if ( '' != $taxo_text ) { ? div class="entry-utility"

?php echo $taxo_text; ? /div ? } // endif ?

第五步:檢查結(jié)果

查看文章,你將會發(fā)現(xiàn)所有的自定義分類法下的類別都會在文章的下方顯示。

通過自定義分類法的類別瀏覽文章列表

通過上面的幾個操作,現(xiàn)在每篇文章如果它們有被分類到哪個自定義分類法下的某個類別,那么相關(guān)的類別都會顯示出來了。并且列出自定義分類法的類別的同時還

會有一個鏈接能將你轉(zhuǎn)到到某個類別下的所有文章列表頁面。例如,點(diǎn)擊操作系統(tǒng)分類法旁邊的“Mac OS”鏈接,理論上所有的“Mac

OS”類別的所有文章列表都將會呈現(xiàn)在你的眼前。

但是,在WordPress3.0中并沒有像理論那樣完美,我們還需要制作一個自定義的模板文件才能讓文法歸檔成為可能。在WordPress中,讀者已

經(jīng)可以對指定某個 category和某個標(biāo)簽的所有文章進(jìn)行瀏覽,當(dāng)然我們也希望讀者能夠?qū)⑺凶远x分類法下某個類別的文章也都能全部一覽無余。

為了實(shí)現(xiàn)這一點(diǎn),我們需要創(chuàng)建一個叫做 “taxonomy.php”的模板文件,當(dāng)需要列出自定義分類法下面某個類別的文章時,可以隨時使用這個文件。

第一步:

打開“category.php”模板文件,復(fù)制它的內(nèi)容并將這些內(nèi)容粘貼到一個新創(chuàng)建的命名為“taxonomy.php”的文件中,保存這個taxonomy.php到主題目錄下:

[website_root]/wp/wp-content/themes/twentyten/taxonomy.php.

第二步:獲取當(dāng)前分類法類別的相關(guān)信息

我們需要在taxonomy.php文件里能夠獲取被列出的分類法相關(guān)的信息??赡苄枰婪诸惙ㄏ履硞€類別的名稱以及描述。

只要在?php get_header(); ?下方,添加下面的代碼:

$term = get_term_by( 'slug', get_query_var( 'term' ),

get_query_var( 'taxonomy' ) );

第三步:顯示類別名稱和描述

有必要將頁面的名稱做些修改讓訪客知道他們在看的是什么樣的內(nèi)容。由于我們最開始也是從category.php 模板文件著手的,我們可以將用與打印分類名稱的代碼做些修改,就可以顯示我們需要的頁面名稱,甚至是描述。

從category.php文件中修改下面的代碼:

printf( __( 'Category Archives: %s', 'twentyten' ), 'span' .

single_cat_title( '', false ) . '/span' );

將其改成:

printf( __( 'Posts classified under: %s', 'twentyten' ),

'span' . $term_name . '/span' );

這就修改了剛開始的靜態(tài)文字,然后插入類別的名稱。

添加下面的代碼:

if ('' != $term_descr ) { echo "p$term_descr/p\n"; }

如果這個類別有描述,那么就會在標(biāo)題的下方顯示描述內(nèi)容。

再完成對taxonomy.php的修改之后,訪問下某篇授予某一個自定義分類法下的某個類別的文章,你將會看到文本的下方會有自定義類別顯示,只要點(diǎn)擊這些類別你就可以看到此類別的文章列表了。

wordpress商品分分類

一個可能是你的主題和woo兼容性低,換個好的主題更省事,分類可能也會更清楚,會php基礎(chǔ)的作用是會看就行,不要自信去大改大寫,很麻煩,踩在優(yōu)秀作品的肩膀上解決問題事半功倍。

網(wǎng)頁題目:wordpress分類法 wordpress文章分類插件
當(dāng)前鏈接:http://muchs.cn/article2/ddijoic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、營銷型網(wǎng)站建設(shè)、虛擬主機(jī)品牌網(wǎng)站建設(shè)、網(wǎng)站維護(hù)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)