如何为自定义帖子类型创建自定义URL结构?

时间:2011-09-06 作者:farinspace

尽管这个问题听起来像其他问题,但我的问题是:

我正在更新的站点had 的永久排列结构/%postname%, 在此期间,我创建了一个自定义post类型的“弹出窗口”(重写slug=“弹出窗口”),因此URL为:

/popups/the-post-name
Now 该网站有一个博客,permalink结构已更改为/blog/%postname%, 这将自定义帖子类型url结构更改为:

/blog/popups/the-post-name
我想保持博客永久链接结构为/blog/%postname% 但我想为我的自定义帖子类型提供一个自定义url结构,该结构不与博客permalink绑定。因此,与自定义帖子的URL不同,弹出窗口类型显示为:

/blog/popups/the-post-name
我希望它显示为:

/popups/the-post-name
同时保留的博客永久链接/blog/%postname%

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

注册post类型时,其中一个参数是rewrite,它使用了一个数组。确保有with_front 中的参数rewrite 数组,并将其设置为false.

<?php
$args = array(
    // other stuf...
    \'rewrite\' => array( 
         \'slug\' => \'popups\',
         \'with_front\' => false
     ),
     // other stuf...
);

register_post_type( \'type\', $args );
这应该会解决的。

Important: 更改代码后,请确保刷新重写规则(转到“设置”>“永久链接”,然后单击“保存”)。

结束

相关推荐

Changing attachment urls?

如何更改附件页URL的格式/[post-url]/[attachment-name]/ 到/media/[attachment-name]/? 我知道我可以覆盖get_attachment_link 通过attachment_link 过滤器,但我想我需要更改重定向结构,以便WordPress知道如何处理这些URL?