wordpress通過資料庫表wp_term_taxonomy的category(taxonomy其實儲存category和tab)裡的term(term裡面其實就是分類的名稱和自訂地址)可以載入到相關的頁面,相關地址就是xxx/category/自訂地址或者id(url沒重寫的情況下).若我有個自訂的taxonomy,我應該如何重寫wordpress的相關代碼或者方法,才會讓wordpress知道我應該要把文章載入到那個頁面.category的預設在index.php中開啟.
回複內容:
wordpress通過資料庫表wp_term_taxonomy的category(taxonomy其實儲存category和tab)裡的term(term裡面其實就是分類的名稱和自訂地址)可以載入到相關的頁面,相關地址就是xxx/category/自訂地址或者id(url沒重寫的情況下).若我有個自訂的taxonomy,我應該如何重寫wordpress的相關代碼或者方法,才會讓wordpress知道我應該要把文章載入到那個頁面.category的預設在index.php中開啟.
就是有某些主題有portfolio的.也定義了portfolio自己的分類.但是不能按照wordpress預設的category的方式開啟portfolio自訂的分類.會404的,因為wordpress預設的category開啟頁面是在index.php
---------------
首先,我得糾正你對wp主題運行流程的理解.
Template_Hierarchy
自己看下,並非"wordpress預設的category開啟頁面是在index.php".
千萬不要對自己不瞭解的東西,妄下結論.
第二,針對custom taxonomy 404 問題,
我建議你,先重新儲存下permalink structure.
---------------------------------
根據Custom Taxonomies display, 我建議你在主題目錄下,建立一個檔案,taxonomy-skill-type.php 專門現實歸類於skill-type的portfolio.
主要查詢代碼如下, 自己看著修改. 其實,主要是那個tax_query啦, 呵呵
'portfolio','posts_per_page' => '-1',$tax_query = array('tax_query'=> array( array('taxonomy' => 'skill-type',//這個名字沒錯吧? ))););$query = new WP_Query($args);global $wp_query;$wp_query = $query;while ( have_posts() ) : the_post(); //blah blah.endwhile.?>
end
額,再看幾遍你的代碼,我好像沒怎麼修改啊.我可能醉了...
還不是很完美,顯示skill-type的terms可以這樣.
$tax_query = array( 'taxonomy' => 'skill-type',//這個名字沒錯吧? 'field' => 'slug', 'terms' => get_query_var('term'))
老實說,以上代碼全部都沒測試過.