WordPress中如何将自定义文章类型固定链接设为根路径
问题
我创建了一个自定义文章类型来管理特定页面,但由于WordPress固定链接设置为/blog/%postname%/,该自定义文章类型的固定链接变为/blog/new-post-type。我不想移除站点固定链接中的/blog/,因为博客文章需要使用该路径。如何移除自定义文章类型固定链接中的/blog/,使其像WordPress默认页面固定链接一样为www.website.com/name-of-page/?
解决方法
- 修改自定义文章类型注册代码:在注册自定义文章类型时,给
rewrite参数添加'with_front' => false,这个参数会让自定义文章类型的固定链接不继承站点固定链接的前置路径(也就是/blog/)。示例代码如下:
function register_my_custom_post_type() { $args = array( 'public' => true, 'label' => '我的自定义页面', 'rewrite' => array( 'slug' => '', // 若想直接用文章标题作为链接后缀可留空;也可指定自定义slug,比如'custom-page' 'with_front' => false, // 核心参数,取消继承前置路径 ), // 其他必要参数(如supports、hierarchical等)按需添加 ); register_post_type( 'my_custom_post', $args ); } add_action( 'init', 'register_my_custom_post_type' );
- 刷新固定链接规则:修改代码后,登录WordPress后台进入「设置」→「固定链接」页面,无需修改任何设置,直接点击「保存更改」按钮。这一步是让WordPress生成新的重写规则,确保自定义文章类型的新链接结构生效。
如果你的自定义文章类型已经注册完成,只需要找到注册代码中的rewrite数组,添加或修改'with_front' => false,再执行上述刷新操作即可。
内容的提问来源于stack exchange,提问作者Justin
相关产品推荐
相关产品推荐

