WordPress中如何修改post_type=project的固定链接结构?
修改WordPress自定义文章类型project的固定链接slug方法
你需要将post_type=project对应的固定链接前缀从project修改为gift,可通过以下3种常见方案实现:
方案1:直接修改自定义文章类型(CPT)注册参数
如果project类型是你自行开发、或者可以找到主题、插件中注册该CPT的代码,直接修改注册参数即可:
- 找到注册
project类型的register_post_type()函数代码 - 定位到
rewrite配置项,将slug值修改为gift即可,示例配置如下:'rewrite' => array( 'slug' => 'gift', 'with_front' => false // 可选,设为false可避免继承站点全局固定链接前缀(如/blog/) )
方案2:通过钩子函数修改(无需改原注册代码,避免更新被覆盖)
如果找不到原注册代码、或者怕修改主题/插件源码更新后被还原,可以将以下代码添加到当前主题的functions.php文件中,或者自定义代码片段插件里:
function custom_change_project_cpt_slug( $args, $post_type ) { // 仅匹配project自定义文章类型 if ( 'project' === $post_type ) { $args['rewrite']['slug'] = 'gift'; } return $args; } add_filter( 'register_post_type_args', 'custom_change_project_cpt_slug', 20, 2 );
方案3:通过CPT UI插件修改
如果你是用「Custom Post Type UI」插件生成的project类型,操作更简单:
- 进入WordPress后台→CPT UI→编辑文章类型
- 找到
project对应的配置项,定位到「Rewrite」设置块 - 将「Custom Rewrite Slug」字段填写为
gift保存即可
必做后续操作
修改完成后必须刷新固定链接规则,否则新链接会返回404:
- 进入WordPress后台→设置→固定链接
- 无需修改任何配置,直接点击底部「保存更改」按钮,系统会自动重写全站固定链接规则
可选补充:旧链接重定向
修改后原abc.com/project/xxx格式的链接会失效,如果需要兼容旧链接,可以配置301重定向将所有/project/开头的路径跳转到/gift/开头的对应路径,可通过Nginx/Apache配置实现,也可以安装WordPress重定向插件配置规则。
内容的提问来源于stack exchange,提问作者miko
相关产品推荐
相关产品推荐

