在标签存档页面显示包含当前标签的所有文章类型的文章

文 / @WordPress主题

自定义文章类型添加标签

如果想给自定义的文章类型添加标签,可以通过以下方法。例如,在这里我要为“案例”这个自定义文章类型添加标签的功能,以便通过标签把案例和其他文章类型关联起来。

add_action('init', 'add_taxonomy_objects');
function add_taxonomy_objects(){
    register_taxonomy_for_object_type('post_tag', 'case');
}

标签存档页面的查询问题

然而,上述方法可能会出现一个问题。在默认的标签存档页面中,只会显示包含当前标签的文章,而不会显示包含当前标签的案例,显然这是有问题的。

不过,我们可以通过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');

将上述代码添加到你的主题的function.php中,再次打开标签存档页面,案例文章类型中的案例已经出现在标签存档中了。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。