我有一个自定义分类法,即艺术家分类法,它与三种自定义帖子类型相关:视频、帖子和信件。我有一个taxonomy-artist.php
应显示给定艺术家的存档的模板。
当我访问时/artist/ARTIST_NAME
只有当没有其他帖子与之关联时,它才会显示分类法存档模板。如果有与之相关的帖子,你会被重定向到一个单独的帖子(我相信这是与分类术语相关联的最古老的帖子)。所以如果我访问/artist/ARTIST_NAME
而且还有与之相关的内容,我被踢出去[videos|letters|posts]/THE_POST_NAME
.
我发现需要在自定义帖子类型之前注册分类法,所以我先注册分类法,并刷新了permalink设置,但运气不好。我很难理解为什么会发生这种情况,所以我很想知道是什么导致了这种情况!
下面是我用于注册分类法和帖子类型的代码:
register_taxonomy( \'artist\',
array(
\'videos\',
\'letters\',
\'post\'
),
array(
\'labels\' => array(
\'name\' => _x( \'Artists\', \'taxonomy general name\' ),
\'singular_name\' => _x( \'Artist\', \'taxonomy singular name\' ),
\'search_items\' => __( \'Search Artists\' ),
\'all_items\' => __( \'All Artists\' ),
\'parent_item\' => __( \'Parent Artist\' ),
\'parent_item_colon\' => __( \'Parent Artist:\' ),
\'edit_item\' => __( \'Edit Artist\' ),
\'update_item\' => __( \'Update Artist\' ),
\'add_new_item\' => __( \'Add New Artist\' ),
\'new_item_name\' => __( \'New Artist Name\' ),
\'menu_name\' => __( \'Artists\' ),
)
)
);
register_post_type( \'letters\',
array(
\'labels\' => array(
\'name\' => __( \'Letters\' ),
\'singular_name\' => __( \'Letter\' )
),
\'public\' => true,
\'has_archive\' => true,
\'supports\' => array( \'title\', \'editor\', \'thumbnail\' ),
\'menu_icon\' => get_stylesheet_directory_uri() . \'/img/mail.png\',
)
);
register_post_type( \'videos\',
array(
\'labels\' => array(
\'name\' => __( \'Videos\' ),
\'singular_name\' => __( \'Video\' )
),
\'supports\' => array( \'title\', \'editor\', \'thumbnail\' ),
\'public\' => true,
\'menu_icon\' => get_stylesheet_directory_uri() . \'/img/blue-document-film.png\',
)
);