4 mins read ‧ 2022/08/05 普
讓彙整頁 (Archive) 支援不同的文章類型 (Post Type)
問題 & 狀況
原本看我自己的 WordPress 開發教程,想說為什麼文章數量這麼少
因為我的文章結構是有兩種文章類型 post type
的,一種是文章 ( post ),另一種是教程 ( tutorial ) ,兩者共用同樣的分類 ( categories )與標籤 ( tag )
而 WordPress 預設的分類 & 標籤頁面 ( archive ) 是只會抓 文章 ( post ) 的,不會抓其他的 post type
,才導致我的文章數量這麼少
( 之所以分成兩種 post type 是為了未來文章數量多,比較好區分 )
解決辦法
這邊用一隻 Hooks pre_get_posts
,讓 WordPress Query 出文章前
使用 set
方法改變它的 Query 語句,把想要的 post type
新增進去,就可以讓我的 archive 頁面也 Query 出教程 ( tutorial )
如果把下方的 tutorial
換成 product
就變成支援產品了
//Query文章時也把其他 CPT 也加進去
add_action('pre_get_posts', 'query_post_type');
function query_post_type($query) {
if ($query->is_main_query()
&& ( is_category() || is_tag() )) {
// 把 tutorial 這個自己定義的 post type 加進去
$query->set( 'post_type', array('post','tutorial') );
}
}
參考資料
覺得不錯的話,請給我點個推薦
您的支持與鼓勵是我們前進的最大動力!