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

WordPress自定义文章类型无法创建新文章的问题求助

解决自定义文章类型(CPT)编辑页空白及REST API 404问题

你的问题核心是REST控制器类设置错误,导致WordPress无法正确注册该CPT的REST路由,进而使Gutenberg编辑器加载失败。以下是具体修复步骤:

1. 修正CPT注册代码中的关键错误

你的代码里rest_controller_class参数被错误设置为'm',这个参数需要指定有效的REST控制器类名(默认使用WP_REST_Posts_Controller即可)。同时还有两个优化点:

  • 修正menu_icon为有效的Dashicons图标(比如dashicons-qrcode更贴合QR菜单场景)
  • 修正labels中的menu_name,让后台菜单显示更准确

修改后的完整代码:

// Register Custom Post Type
function qrmenu() {

    $labels = array(
        'name'                  => _x( 'QR Menüler', 'Post Type General Name', 'egmenu' ),
        'singular_name'         => _x( 'QR Menü', 'Post Type Singular Name', 'egmenu' ),
        'menu_name'             => __( 'QR Menüler', 'egmenu' ), // 修正菜单显示名称
        'name_admin_bar'        => __( 'QR Menü', 'egmenu' ),
        'archives'              => __( 'QR Menü Arşivleri', 'egmenu' ),
        'attributes'            => __( 'QR Menü Özellikleri', 'egmenu' ),
        'parent_item_colon'     => __( 'Üst Öğe:', 'egmenu' ),
        'all_items'             => __( 'Tüm QR Menüler', 'egmenu' ),
        'add_new_item'          => __( 'Yeni QR Menü Ekle', 'egmenu' ),
        'add_new'               => __( 'Yeni Ekle', 'egmenu' ),
        'new_item'              => __( 'Yeni QR Menü', 'egmenu' ),
        'edit_item'             => __( 'QR Menüyü Düzenle', 'egmenu' ),
        'update_item'           => __( 'QR Menüyü Güncelle', 'egmenu' ),
        'view_item'             => __( 'QR Menüyü Görüntüle', 'egmenu' ),
        'view_items'            => __( 'QR Menülerini Görüntüle', 'egmenu' ),
        'search_items'          => __( 'QR Menü Ara', 'egmenu' ),
        'not_found'             => __( 'Bulunamadı', 'egmenu' ),
        'not_found_in_trash'    => __( 'Çöpte Bulunamadı', 'egmenu' ),
        'featured_image'        => __( 'Öne Çıkan Resim', 'egmenu' ),
        'set_featured_image'    => __( 'Öne çıkan resim ayarla', 'egmenu' ),
        'remove_featured_image' => __( 'Öne çıkan resmi kaldır', 'egmenu' ),
        'use_featured_image'    => __( 'Öne çıkan resim olarak kullan', 'egmenu' ),
        'insert_into_item'      => __( 'Öğeye ekle', 'egmenu' ),
        'uploaded_to_this_item' => __( 'Bu öğeye yüklendi', 'egmenu' ),
        'items_list'            => __( 'Öğeler listesi', 'egmenu' ),
        'items_list_navigation' => __( 'Öğeler listesi gezintisi', 'egmenu' ),
        'filter_items_list'     => __( 'Öğeler listesini filtrele', 'egmenu' ),
    );
    $args = array(
        'label'                 => __( 'QR Menü', 'egmenu' ),
        'labels'                => $labels,
        'supports'              => array( 'title', 'editor', 'thumbnail', 'comments', 'trackbacks', 'revisions', 'custom-fields', 'page-attributes', 'post-formats' ),
        'hierarchical'          => false,
        'public'                => true,
        'show_ui'               => true,
        'show_in_menu'          => true,
        'menu_position'         => 5,
        'menu_icon'             => 'dashicons-qrcode', // 修正为有效图标
        'show_in_admin_bar'     => true,
        'show_in_nav_menus'     => false,
        'can_export'            => true,
        'has_archive'           => true,
        'exclude_from_search'   => true,
        'publicly_queryable'    => true,
        'capability_type'       => 'post',
        'show_in_rest'          => true,
        'rest_base'             => 'm', // 保留自定义REST基础路径
        'rest_controller_class' => 'WP_REST_Posts_Controller', // 修正为默认REST控制器类
    );
    register_post_type( 'm', $args );

}
add_action( 'init', 'qrmenu', 0 );

2. 刷新固定链接规则

修改代码后,进入WordPress后台:

  • 导航到 设置 → 固定链接
  • 无需修改任何设置,直接点击保存更改按钮,这会刷新WordPress的rewrite规则,确保REST路由正确注册。

3. 测试修复效果

  • 尝试创建新的QR Menü文章,编辑器应该能正常加载
  • 访问REST API端点http://example.com/wp-json/wp/v2/m/11?context=edit&_locale=user,应该返回正常的文章数据而非404错误

内容的提问来源于stack exchange,提问作者Emirhan Gümüş

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 21:48:30