You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WordPress中正确修改自定义文章类型的固定链接结构

解决自定义文章类型固定链接修改后不生效的问题

你修改rewrite参数的方向是对的,但没生效的核心原因是WordPress的重写规则缓存没有刷新,以下是完整的解决步骤:

1. 修正自定义文章类型注册代码

将rewrite数组中的slug改为library,如果希望避免继承主固定链接的前缀(比如主固定链接用了/%postname%/之外的结构),可以额外添加'with_front' => false参数:

function create_custom_post_type() {
    $args = array(
        'labels' => array(
            'name' => 'Books',
            'singular_name' => 'Book',
        ),
        'public' => true,
        'has_archive' => true,
        'rewrite' => array( 'slug' => 'library', 'with_front' => false ),
        'show_in_rest' => true,
    );
    register_post_type( 'book', $args );
}
add_action( 'init', 'create_custom_post_type' );

2. 刷新WordPress重写规则

修改代码后,必须手动触发重写规则的更新,步骤如下:

  • 登录WordPress后台,进入设置 → 固定链接页面
  • 不需要修改任何设置,直接点击页面底部的保存更改按钮

这一步会清空旧的重写规则缓存,生成新的规则,你的固定链接结构就会更新为/library/[文章名称]。

额外注意事项

  • 如果之前已经发布过该自定义文章类型的内容,旧的/book/开头的链接会失效,你可以通过添加重定向规则来兼容旧链接(比如在主题的functions.php中用add_rewrite_rule函数)
  • 确保自定义文章类型的public参数为true,rewrite参数没有被设置为false,这是重写规则生效的前提

内容的提问来源于stack exchange,提问作者Anto Navis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 21:07:32