时间:2024-04-04
如果想给自定义的文章类型添加标签,可以通过以下方法。例如,在这里我要为“案例”这个自定义文章类型添加标签的功能,以便通过标签把案例和其他文章类型关联起来。
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中,再次打开标签存档页面,案例文章类型中的案例已经出现在标签存档中了。
Copyright © 2019-2024 mysql.hk