Custom permalink structure

时间:2011-11-03 作者:Attila

我已经挖掘代码好几天了,没有解决方案:(我有一个自定义的帖子类型和两种不同的分类法。

是否可以实现以下永久链接结构(使用add\\u rewrite\\u rule、mod\\u rewrite或post\\u type\\u link post type filter)?

mysite.com/post-type-slug/post1
mysite.com/post-type-slug/taxonomy1-term
mysite.com/post-type-slug/taxonomy2-term
不需要,但也可以创建这些URL

mysite.com/post-type-slug/taxonomy1-term/taxonomy1-subterm - if each tax. is hierarchical
mysite.com/post-type-slug/taxonomy-term1/post1 - display posts under tax. URLs
你有什么想法吗?

1 个回复
最合适的回答,由SO网友:sanchothefat 整理而成

我将很快研究最后两个,但对于前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

结束

相关推荐

Custom permalinks

我们有一个自定义类型music./music/ /music/post-name/ 此外,我们还有一个类似标签的分类法genres. 其URL为:/music-genres/genre-name/ 我尝试创建如下URL:/music/ /music/post-name/ /music/genres/ /music/genres/genre-name/ /music-genres/ 应替换为/music/genres/.最后,我们应该得到如下url