要在类别存档索引中显示页面,请执行以下操作:
将类别分类添加到Page
岗位类型
默认情况下,静态页面没有任何与之关联的分类法,包括category
分类学所以您需要注册category
的分类法page
post类型,使用register_taxonomy_for_object_type()
:
function wpse94150_register_category_taxonomy_for_page_post_type() {
register_taxonomy_for_object_type( \'category\', \'page\' );
}
add_action( \'admin_init\', \'wpse94150_register_category_taxonomy_for_page_post_type\' );
创建包含类别的页面
不言而喻。要使页面显示在类别存档索引中,您需要具有已分配类别的页面。
过滤查询,以包括类别存档索引页的页面帖子类型
接下来,您需要告诉WordPressinclude the \'page\'
post-type 在类别存档索引查询的结果中,通过过滤$query
对象通过pre_get_posts
:
function wpse94150_filter_pre_get_posts( $query ) {
// Only modify the main loop query
// on category archive index pages
if ( $query->is_main_query && $query->is_category() ) {
// Return both posts and pages
$query->set( \'post_type\', array( \'post\', \'page\' ) );
}
}
add_action( \'pre_get_posts\', \'wpse94150_filter_pre_get_posts\' );
查看类别存档索引页,现在包含帖子和页面
导航到example.com/category/cat-a
, 如果您有分配给“Cat A”的页面,您将在存档索引中看到它们。
编辑步骤3中的代码在哪里输入我会将步骤3中的代码放在与步骤1中的代码相同的位置:理想情况下是放在站点功能插件中,或者作为不太理想的备份,放在functions.php
子主题的文件。
和2。如果我更新WordPress或其插件,这种变化会稳定吗?
由于这些更改不是直接对任何核心或插件文件进行的:是的,这些更改是稳定的,并且是经得起未来考验的。(除非WordPress更改了其中一个底层API或挂钩,这是非常值得怀疑的。)