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

WordPress自定义文章类型跳转异常:编辑页点击菜单链接跳转到普通文章页

解决WordPress自定义文章类型编辑/创建链接重定向到普通文章的问题

先看你给出的代码片段,我发现几个可能导致跳转异常的关键点,一步步来排查修复:

1. 修正无效参数:show_in_nav → show_in_menu

你代码里写的'show_in_nav' => true是WordPress不识别的无效参数,自定义文章类型控制后台菜单显示的正确参数是show_in_menu,参数错误会直接导致菜单链接生成混乱,赶紧改成:

'show_in_menu' => true,

2. 补充关键参数,避免链接冲突

你的$args里缺少几个核心参数,这也是跳转错误的常见诱因:

  • capability_type:定义自定义文章类型的权限标识,默认是post(和普通文章共享权限),建议单独设置为publication,配合map_meta_cap使用更规范:
    'capability_type' => 'publication',
    
  • rewrite:设置独立的固定链接slug,避免和普通文章的链接规则冲突:
    'rewrite' => array( 'slug' => 'publications' ),
    
  • supports:指定编辑页面的基础功能(比如标题、编辑器),虽然不直接影响跳转,但能保证编辑页正常显示:
    'supports' => array( 'title', 'editor', 'thumbnail' ),
    

3. 规范标签(Labels)的单复数形式

虽然这不是跳转的直接原因,但标签不规范会导致后台显示混乱,把单数名称修正为正常形式:

$labels = array(
    'name' => 'Publications',
    'singular_name' => 'Publication',
    'edit_item' => 'Edit Publication',
    'add_new' => 'Create Publication',
    'add_new_item' => 'Create New Publication'
);

4. 刷新固定链接规则

修改自定义文章类型配置后,必须让WordPress重新生成重写规则:

  • 登录后台→设置→固定链接
  • 不用改任何设置,直接点击「保存更改」按钮即可

完整修正后的代码示例

add_action( 'init', 'register_publication_post_type' );
function register_publication_post_type() {
    $labels = array(
        'name' => 'Publications',
        'singular_name' => 'Publication',
        'edit_item' => 'Edit Publication',
        'add_new' => 'Create Publication',
        'add_new_item' => 'Create New Publication'
    );

    $args = array(
        'labels' => $labels,
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'show_in_menu' => true,
        'query_var' => true,
        'map_meta_cap' => true,
        'hierarchical' => false, // 补全你之前省略的层级设置,false表示非层级,true表示类似页面的层级结构
        'capability_type' => 'publication',
        'rewrite' => array( 'slug' => 'publications' ),
        'supports' => array( 'title', 'editor', 'thumbnail' )
    );

    register_post_type( 'publication', $args );
}

额外排查点(如果以上步骤无效)

  • 插件冲突:暂时禁用所有第三方插件,测试链接是否恢复正常
  • 主题干扰:切换到默认主题(比如Twenty Twenty-Four),排查主题是否修改了自定义文章类型的规则
  • 注册时机:确保自定义文章类型的注册代码是在init钩子中执行的(如上面示例),不要在更早的钩子中注册

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:42:47