1. wordPress 如何實現分類以及分類下的子分類,共用一個模板
創建獨立ID或別名的樣式文件:WordPress默認的分類是查找對應ID的主題文件,找不到就會指向archive.php文件,如果archive.php文件不存在,就會默認使用index.php文件。到博客後台查看一下要設計樣式的分類的ID,假設分類ID為7,之後把主題文件archive.php復制一下,把文件改名為:category-7.php,這樣當你瀏覽分類ID為7的分類時,就會自動調用category-7.php主題文件,就實現了自定義顯示分類為7的樣式。創建的category-7.php或category-Internet.php的樣式要區別於archive.php,要不然,就稱不上「不同分類使用不同列表樣式」了。
2. wordpress分類目錄怎麼編寫
1.輸入網站的登陸地址,進入到網站管理後台,滑鼠放在文章管理選項上,找到分類目錄點擊進入;
注意事項:
wordpress的分類目錄,就像圖書館的圖書分類是一樣的,這樣能方便用戶在最短的時間找到自己想要看到的內容。
3. 如何在wordpress 3.0中使用自定義分類法
WordPress 3.0五大新特徵是WordPress為了邁向一個成功的內容管理系統努力的印證。之前,我們向大家介紹過WordPress3.0的新功能,自定義發布內容的類型,這篇文章將繼續給大家講一下WordPress3.0另一個比較突出的新功能,自定義分類法。什麼是自定義分類法函數,它的實用性表現在哪裡?究竟該如何使用?請看下面的教程:
什麼是自定義分類法函數?
分類法函數顧名思義就是使用不同的方法來對事物進行分類的函數。大家都知道按照不同的分類標准,對某種事物的分類就會大相徑庭,本教程將以台式電腦為例,依據下面完全不同的標准來分其結果就不一樣:
隨機存儲的容量
硬碟驅動器的大小
CPU速度
CPU類型
安裝的操作系統
等等
WordPress分類法函數歷史簡介
類別分類
WordPress2.3之前的版本只有一個最為普通的分類法函數,
叫做文章的「類別(Category)」。這個對於博客來說也還算過得去,因為你可以創建一個頂層分類「台式電腦」,一個子分類「RAM,」它同樣也可以
有子子分類:「小於1 GB,」 「1 GB,」 「2 GB到4GB,」
等等。「台式電腦」下也可以創建一個叫做「操作系統的」第二個子分類,它下面的子子分類為「Windows XP,」 「Mac OS,」 「Red
Hat,」 「Ubuntu,」等等。
當某種系統允許你將分類進行再次分為各種子分類,我們稱之為層級結構。在WordPress2.3之前的系統里,你所能做到最好的就是創建一個龐大的分類層級,其中最高層代表最大的分類組。
標簽分類法
WordPress2.3又增加了一種分類法,叫做標簽,之前的分類通常都是事先想好了,具體到網站上內容的分類,而標簽顯得更加自由,可以說是一種即興分類內容的方法。
舉個例子,在寫一篇關於某個台式電腦的文章時,標簽允許製作輸入一個或多個關鍵詞,如「游戲」 、「tivo功能」
、「嘈雜風扇」等等。像這些關鍵詞可能並不適合於運用於整個網站內容的分類中,但是對某篇文章來說卻是提供了另一種分類。網站訪客以後就可以非常輕松找到
所有標記為「tivo功能」的文章。不過,標簽的自由性卻無法幫助我們創建一個固定的依據如操作系統、CPU類型值而做出的分類系統。因為標簽是一維的,
不容許任何層級結構。
單級自定義分類法
Wordpress2.8下,通過稍微修改網站的代碼你可以添加自定義分類方案。這樣你可以創建一個包含所有「操作系統"的文章列表,並與另一個包含所有
「隨機存儲器」的文章列表單獨分開,當然還可以創建其他類似的列表。不過,它卻無法像常見的「類別」分類法擁有內在的層級結構。
完全層次自定義分類法
最後,WordPress3上才可以擁有完全層級的自定義分類法。你將會發現這個完全層級自定義分類是多麼強大,就拿操作系統來說,你可以將所有不同的
Windows變種放置到Windows父類別下。這樣用戶選擇Windows操作系統的時候就可以看到所有相關的文章,而如果他們想只查找
Windows xp電腦相關的信息就可以選擇Windows XP下的文章。
創建一個自定義分類法
編輯主題functions.php文件
WordPress3無法在管理後台創建自定義的分類法。如果不使用插件初次定義一個自定義分類法時,你將需要在主題 functions.php文件里添加點代碼,其實也不難,跟著下面的指示就可以了。
在主題目錄里找到「functions.php」文件,假設你使用的是WordPress3.0的默認主題「twentyten」,WordPress是安裝在一個叫做「wp.」的目錄下,那麼functions.php文件的路徑就是:
[website_root]/wp/wp-content/themes/twentyten/functions.php.
在代碼中添加分類法
仍然以台式電腦為例,我們需要單獨添加「隨機存儲器」、「硬碟驅動器」和「操作系統」這樣的分類。在這里,僅僅是添加了分類法本身,也就是說設定完之後它們就像是一個「空的容器」,而你需要通過管理面板那命名管理不同分類,如「Windows XP」。
步驟一:使用一個函數創建所有的分類
首先,需要創建一個函數來創建所有需要的分類。這個函數叫做「build_taxonomies」,在functions.php文件的底端添加這個函數:
function build_taxonomies() { // 定義分類法的代碼將寫在這里 }
步驟二:定義分類法
接著,對於每個需要創建的分類法,我們需要啟用某個WordPress函數以及正確的參數。下面就是該函數以及它相關的重要參數的解釋。
register_taxonomy( 'internal_name', 'object_type', array( 'hierarchical' =>
{true|false}, 'label' => 'Human Readable Name', 'query_var' =>
{true|false}, 'rewrite' => {true|false} ) );
internal_name: 在WordPress內部,資料庫和模板文件中這個分類法究竟該怎麼稱呼就是靠這個函數來實現的。
object_type:什麼類型的內容才可以用這個分類法進行分了呢?可能的值有:「文章(post), 頁面(page)以及鏈接(link)」。
接著就是一組可選擇的參數。本教程就使用最為重要的幾個參數,其他參數大家也可以在官方的引用函數/ register_taxonomy Codex頁面上找到。我們將使用到的參數有:
hierarchical: 如果設置為"true"的話,意味著此分類法擁有的層級功能,就像WordPress「類別」的分類一樣。反之,如果設置為『false』,那麼它就會像標簽一樣靈活沒有分層的制約。
label: 這是一個對用戶可見的用戶標記此分類法的一個標記。
query_var: 如果設置為『true』,那麼選擇該分類法後,我們可以要求WordPress為我們選擇相關的文章,例如,依據操作系統分類法,如果選擇「Windows」,WordPress系統就會為你列出所有Windows下的文章。
rewrite: 如果設置為『true』,在瀏覽一個頁面時,WordPress將會使用友好的URL地址。例如,選擇Windows操作系統之後列出的文章列表頁面的URL地址將會是這樣的: http://domain.com/operating_system/windows
添加操作系統分類法的代碼如下:
register_taxonomy( 'operating_system', 'post', array( 'hierarchical' => true,
'label' => 'Operating System', 'query_var' => true, 'rewrite' => true ) );
請在前面提到的「build_taxonomies」函數里添加上面的代碼。
更多信息:
參閱這里
第三步:調用Taxonomy-Creating函數
我們還需要在「functions.php」文件里添加幾行代碼,這樣「build_taxonomies」函數才可以真正執行,
add_action( 'init', 'build_taxonomies', 0 );
你可以在任何地方加這個代碼,不過通常還是寫在需要調用的函數前面比較好,代碼就變成這樣了:
//自定義分類法代碼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」添加了「操作系統」這個分類法之後,在管理後台的「文章」選項就應該會出現一個新的「操作系統」分類條目,點擊該分類法名稱,你就可以添加編輯所需要的類別。
像上圖所示添加完所需的類別之後,你就可以像常見的文章分類目錄一樣對操作系統這個分類進行編輯。
添加更多分類法
如果你需要添加「隨機存儲器」和「硬碟驅動器」分類法,只要按照上面「操作系統」的例子做,並在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文件里的代碼應該像下面這樣:
// 自定義分類法代碼 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 ) ); }
使用新的分類法發布文章
在創建一篇新的文章時,你就會發現在編輯文章的頁面會出現新的分類法選項,你就可以旋轉任何你需要使用到的分類。
顯示文章的不同分類法
到目前為止所做的一切對於網站的訪客來說並沒有太大的改善。我們希望能夠顯示某篇文章依據某種分類法所歸屬的類別,就像文章的類別和標簽那樣顯示出來。
為了實現這點,我們還需要做一點點改善。
在各個分類法的頁面顯示它們下面的類別
在twentyten以及其他很多主題中,在一篇文章的文本下方會顯示該文章所屬的類別和標簽。 所以,下面我們打算如果某篇文章有使用了自定義的分類法對它進行分類的話,那麼就在類別和標簽的前面加上依據自定義分類法它所歸屬的分類。
為了實現這一點,我們需要對「single.php」模板文件進行一點修改,通常顯示單篇文章都需要調用這個模板文件。single.php文件的路徑
是: [website_root]/wp/wp-content/themes/twentyten/single.php.
第一步:找到添加代碼的地方
打開single.php文件,找到下面這行代碼:
<div class="entry-utility">
它的前面是:
<div id="nav-below">
In twentyten主題裡面,div里包含了當前文章的所屬類別、標簽、永久鏈接以及其他數據。 我們將在這個div的前面添加自定義分類的信息。
第二步:獲取當前文章的分類法信息
Populate some variables for holding the taxonomy information output and
the different taxonomy information we may expect to find.
<?php // 如果有自定義分類法信息就顯示
// 創建輸出的內容 $taxo_text = "";
// 變數來存儲所有可能的分類法列表
// 檢查「操作系統」這個類別
$os_list = get_the_term_list( $post->ID, 'operating_system', '
<strong>Operating System(s):</strong> ', ', ', '' );
在這里,需要調用WordPress函數「get_the_term」以及下面的參數:
$post->ID : 當前文章的ID
『operating_system』 : 我們的目標自定義分類,通過它來查詢當前文章是否有被定義為「操作系統」分類法下的任何類別。
『Operating System(s)』 : 如果得到數值返回,我們需要在它的前面加上這個字元串。
『, 『 : 如果返回多個數值,我們需要用這個符號來分隔開來。
」 : 如果沒有返回任何數值,我們希望在後面加上這個字元串。這樣,結果後面就不需要添加任何東西。
同樣地我們可以對其他兩個分類法進行處理:
$ram_list = get_the_term_list( $post->ID, 'ram', '<strong>RAM Option(s):
</strong> ', ', ', '' ); $hd_list = get_the_term_list( $post->ID, 'hard_drive', '
<strong>Hard Drive Option(s):</strong> ', ', ', '' );
更多信息:
參閱這里
第三步:對類別的結果進行格式化(如果有)
先查詢是否有這三個分類法下的類別。如果有的話,將這些類別信息以及字元串添加到輸出結果中輸出。
// Add OS list if this post was so tagged if ( '' != $os_list )
{ $taxo_text .= "$os_list<br />\n"; }
// Add RAM list if this post was so tagged if ( '' != $ram_list )
{ $taxo_text .= "$ram_list<br />\n"; }
// Add HD list if this post was so tagged if ( '' != $hd_list )
{ $taxo_text .= "$hd_list<br />\n"; }
第四步:顯示類別結果(如果有)
檢查經過以上步驟是否會有分類法信息需要輸出。如果分類法信息存在,我們將會通過類別div來輸出結果。
// 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 ?>
第五步:檢查結果
查看文章,你將會發現所有的自定義分類法下的類別都會在文章的下方顯示。
通過自定義分類法的類別瀏覽文章列表
通過上面的幾個操作,現在每篇文章如果它們有被分類到哪個自定義分類法下的某個類別,那麼相關的類別都會顯示出來了。並且列出自定義分類法的類別的同時還
會有一個鏈接能將你轉到到某個類別下的所有文章列表頁面。例如,點擊操作系統分類法旁邊的「Mac OS」鏈接,理論上所有的「Mac
OS」類別的所有文章列表都將會呈現在你的眼前。
但是,在WordPress3.0中並沒有像理論那樣完美,我們還需要製作一個自定義的模板文件才能讓文法歸檔成為可能。在WordPress中,讀者已
經可以對指定某個 category和某個標簽的所有文章進行瀏覽,當然我們也希望讀者能夠將所有自定義分類法下某個類別的文章也都能全部一覽無余。
為了實現這一點,我們需要創建一個叫做 「taxonomy.php」的模板文件,當需要列出自定義分類法下面某個類別的文章時,可以隨時使用這個文件。
第一步:
打開「category.php」模板文件,復制它的內容並將這些內容粘貼到一個新創建的命名為「taxonomy.php」的文件中,保存這個taxonomy.php到主題目錄下:
[website_root]/wp/wp-content/themes/twentyten/taxonomy.php.
第二步:獲取當前分類法類別的相關信息
我們需要在taxonomy.php文件里能夠獲取被列出的分類法相關的信息。可能需要知道分類法下某個類別的名稱以及描述。
只要在<?php get_header(); ?>下方,添加下面的代碼:
$term = get_term_by( 'slug', get_query_var( 'term' ),
get_query_var( 'taxonomy' ) );
第三步:顯示類別名稱和描述
有必要將頁面的名稱做些修改讓訪客知道他們在看的是什麼樣的內容。由於我們最開始也是從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>' );
這就修改了剛開始的靜態文字,然後插入類別的名稱。
添加下面的代碼:
if ('' != $term_descr ) { echo "<p>$term_descr</p>\n"; }
如果這個類別有描述,那麼就會在標題的下方顯示描述內容。
再完成對taxonomy.php的修改之後,訪問下某篇授予某一個自定義分類法下的某個類別的文章,你將會看到文本的下方會有自定義類別顯示,只要點擊這些類別你就可以看到此類別的文章列表了。
4. 如何為WordPress頁面添加標簽和分類功能
第一來步:後台有個標簽分類,我自們在標簽分類中添加了幾個標簽分類;
第二步:我們添加文章,對文章標簽進行選擇,卻沒有發現我們剛剛所建立的那幾個標簽分類;
第三步:我們刪除剛建的那幾個標簽;
第四步:我們重新添加文章;
第五步:寫好後,直接在該頁面添加新的標簽,然後點擊後面的添加,即可生成標簽;
第六步:發布文章後,我們再次看下標簽管理頁面,此時就能看到我們剛才添加的標簽了;
5. 怎麼製作wordpress多菜單多分類目錄
1、首先,確保你的「未分類」目錄下沒有文章,如果有就先處理掉,或者按照內容指定目錄,或者移到某個暫存目錄中。
2、然後,將新的分類目錄2設置為「默認文章分類目錄」。
3、具體設置方法是:wordpress後台→設置→撰寫→撰寫設置→默認文章分類目錄,在該項的下拉列框中選擇新的分類目錄2,點擊頁面底部「保存更改」。
4、最後,刪除老分類目錄1即可。
6. wordpress網站分類目錄怎麼排序
1.插件實現分類目錄排序。
安裝插件My Category Order
啟用插件,在控制面板的文章菜單下就出現如下圖所示的目錄調整選項,可以用滑鼠隨意拖曳調整目錄排列順序。
2.修改代碼完成wordpress分類目錄排序。
首先,修改表wp_terms,增加排序欄位order_(類型int)。按需要的順序修改order_欄位的值。
其次,修改wp-includes目錄下taxonomy.php文件。
找到如下位置:
if(『count』==$orderby)
$orderby=『tt.count』;
在elseif處增加order_的判斷
elseif(『order』==$orderby)
$orderby=『t.order_』;
最後,是修改主題中目錄列表的代碼,如sidebar.php
查詢到
<?phpwp_list_cats(『sort_column=name&optioncount=0&depth=1′);?>
修改為
<?phpwp_list_cats(『sort_column=order&optioncount=0&depth=1′);?>
以上都是wordpress網站實現分類目錄排序的教程,大家按照此wordpress教程一步步下來可以完工了。