我們可以通過下面的方法給自定義文章類型添加標簽,比如下面的代碼,我就給「case(案例)」這個自定義文章類型添加了標簽的功能,以便通過標簽把案例和其他文章類型關聯(lián)起來。
add_action('init', 'add_taxonomy_objects');
function add_taxonomy_objects() {
register_taxonomy_for_object_type('post_tag', 'case');
}
可是這樣會出現(xiàn)一個問題,就是在默認的標簽存檔頁面只會顯示包含當前標簽的文章,而不會顯示包含當前標簽的案例,這當然是有問題的。
還好我們有pre_get_posts這個filter,我們可以通過這個 Filter 給標簽存檔頁面的查詢加上 case 這個自定義文章類型即可。
/**
* 在標簽存檔頁面顯示所有文章類型的文章
*/
function add_custom_types_to_tag_archives( $query ) {
if( is_tag() ) {
$post_types = array( 'post', 'case' );
$query->set( 'post_type', $post_types );
return $query;
}
}
add_filter( 'pre_get_posts', 'add_custom_types_to_tag_archives' );
把上面的代碼加入到當前主題的 functhion.php 中,再打開標簽存檔頁面,案例文章類型中的案例已經(jīng)出現(xiàn)在標簽存檔中了。


