我将很快研究最后两个,但对于前3个,您可以执行以下操作:
mysite.com/post-type-slug/post1:
这默认为注册时指定的帖子类型名称,但可以通过更改
rewrite
中的参数
register_post_type()
呼叫
register_post_type( \'posttype\', array(
// ... all the other args...
\'rewrite\' => array( \'slug\' => \'post-type-slug\' ),
// if you want to list a post type with no taxonomy involvement
\'has_archive\' => \'post-type-slug\'
) );
mysite.com/post-type-slug/taxonomy1-term:
如果你是这个意思的话,我认为你很难在分类名称和术语名称之间找到连字符,但你可以做以下事情:
register_taxonomy( \'taxonomy1\', \'posttype\', array(
// ... all the other args...
\'rewrite\' => array( \'slug\' => \'post-type-slug/taxonomy-slug\' )
) );
这将为您提供如下URL:
mysite.com/post-type-slug/taxonomy-slug/term
我对你的问题不是很确定,但如果你不想
taxonomy-slug
到了那里,你就不走运了,你不能拥有与你的帖子类型或其他分类法相同的slug,因为它不知道哪个分类法中的术语是什么,什么是帖子。
要获取Hierarchical terms URL,请执行以下操作:
register_taxonomy( \'taxonomy1\', \'posttype\', array(
// ... all the other args...
\'rewrite\' => array( \'slug\' => \'post-type-slug/taxonomy-slug\', \'heirarchical\' => true )
) );
这给了你
mysite.com/post-type-slug/taxonomy-slug/term/sub-term
注意:
如果有助于设置
slug
若为false,则将其全部清除,这样您就可以:
mysite.com/term/sub-term