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

WordPress自定义分类法显示默认分类问题求助

问题:WordPress自定义文章类型编辑页显示默认分类而非自定义分类法

我在WordPress里创建了名为「Associations」的自定义文章类型(CPT),还配套做了专属的自定义分类法「les_associations」(分类项是Enfance、Sport、Informatique这些),但进入CPT的编辑页面时,右侧显示的却是默认的分类(Actualités、Agenda这些),完全看不到我自己做的分类法。相关代码如下:

/**
 * Permet de créer un type de posts personnalisé, avec un menu dédié
 * concernant les associations, leur ajout, édition, suppression, etc...
 */
function wp_custom_post_type() {
 $labels = array(
 'name' => _x( 'Associations', 'Post Type General Name'),
 'singular_name' => _x( 'Association', 'Post Type Singular Name'),
 'menu_name' => __( 'Associations'),
 'all_items' => __( 'Toutes les associations'),
 'view_item' => __( 'Voir l\'association'),
 'add_new_item' => __( 'Ajouter une nouvelle association'),
 'add_new' => __( 'Ajouter'),
 'edit_item' => __( 'Editer l\'association'),
 'update_item' => __( 'Modifier l\'association'),
 'search_items' => __( 'Rechercher une association'),
 'not_found' => __( 'Non trouvée'),
 'not_found_in_trash' => __( 'Non trouvée dans la corbeille'),
 );
 $args = array(
 'label' => __( 'Associations'),
 'description' => __( 'Annuaire des associations des Coteaux Bordelais.'),
 'labels' => $labels,
 'supports' => array( 'title', 'thumbnail'),
 'menu_icon' => 'dashicons-admin-home',
 'hierarchical' => false,
 'public' => true,
 'has_archive' => false,
 'rewrite' => array( 'slug' => 'associations'),
 );
 register_post_type( 'associations', $args );
}
/**
 * Crée des catégories spécifiques pour les associations
 * afin de ne pas les mélanger avec les catégories normales.
 */
function wp_add_taxonomies() {
 $labels_asso_taxonomy = array(
 'name' => _x('Catégories d\'association', 'taxonomy general name'),
 'singular_name' => _x('Catégorie d\'association', 'taxonomy singular name'),
 'search_items' => __('Rechercher une catégorie'),
 'popular_items' => __('Catégories populaires'),
 'all_items' => __('Toutes'),
 'edit_item' => __('Éditer une catégorie'),
 'update_item' => __('Mettre à jour une catégorie'),
 'add_new_item' => __('Ajouter une nouvelle catégorie'),
 'new_item_name' => __('Nom de la nouvelle catégorie'),
 'add_or_remove_items ' => __('Ajouter ou supprimer une catégorie'),
 'choose_from_most_used' => __('Choisir parmi les catégories les plus utilisées'),
 'not_found' => __('Aucune catégorie d\'association trouvée'),
 'menu_name' => __('Catégories d\'association'),
 );
 $args_cat_association = array(
 'hierarchical' => true,
 'labels' => $labels_asso_taxonomy,
 'show_ui' => true,
 'show_admin_column' => true,
 'query_var' => true,
 'rewrite' => array( 'slug' => 'les-associations', 'with_front' => true )
 );
 register_taxonomy('les_associations', 'associations', $args_cat_association);
 register_taxonomy_for_object_type('les_associations', 'associations');
}

问题出在哪?

我帮你梳理了三个关键问题:

  1. 自定义文章类型未绑定自定义分类法
    在注册CPT的$args数组里,你没指定taxonomies参数,WordPress不知道这个CPT要关联你创建的les_associations分类法,反而默认保留了和默认分类(category)的绑定,所以编辑页显示的是默认分类。

  2. 自定义分类法标签存在语法错误
    你在$labels_asso_taxonomy里写了'add_or_remove_items '(注意末尾多了个空格),这个会导致WordPress无法正确识别这个标签,可能影响分类法的显示逻辑。

  3. 存在冗余代码
    register_taxonomy_for_object_type('les_associations', 'associations');这行代码是多余的——因为register_taxonomy的第二个参数已经指定了关联的CPT是associations,重复调用反而没必要。

修正后的代码

1. 修正自定义文章类型注册函数

在$args里添加taxonomies参数绑定自定义分类法,同时移除默认分类和该CPT的绑定:

function wp_custom_post_type() {
 $labels = array(
 'name' => _x( 'Associations', 'Post Type General Name'),
 'singular_name' => _x( 'Association', 'Post Type Singular Name'),
 'menu_name' => __( 'Associations'),
 'all_items' => __( 'Toutes les associations'),
 'view_item' => __( 'Voir l\'association'),
 'add_new_item' => __( 'Ajouter une nouvelle association'),
 'add_new' => __( 'Ajouter'),
 'edit_item' => __( 'Editer l\'association'),
 'update_item' => __( 'Modifier l\'association'),
 'search_items' => __( 'Rechercher une association'),
 'not_found' => __( 'Non trouvée'),
 'not_found_in_trash' => __( 'Non trouvée dans la corbeille'),
 );
 $args = array(
 'label' => __( 'Associations'),
 'description' => __( 'Annuaire des associations des Coteaux Bordelais.'),
 'labels' => $labels,
 'supports' => array( 'title', 'thumbnail'),
 'menu_icon' => 'dashicons-admin-home',
 'hierarchical' => false,
 'public' => true,
 'has_archive' => false,
 'rewrite' => array( 'slug' => 'associations'),
 // 添加这行,绑定自定义分类法
 'taxonomies' => array('les_associations'),
 );
 register_post_type( 'associations', $args );
 // 移除默认分类法和这个CPT的绑定
 unregister_taxonomy_for_object_type('category', 'associations');
}

2. 修正自定义分类法注册函数

去掉冗余代码和标签里的空格:

function wp_add_taxonomies() {
 $labels_asso_taxonomy = array(
 'name' => _x('Catégories d\'association', 'taxonomy general name'),
 'singular_name' => _x('Catégorie d\'association', 'taxonomy singular name'),
 'search_items' => __('Rechercher une catégorie'),
 'popular_items' => __('Catégories populaires'),
 'all_items' => __('Toutes'),
 'edit_item' => __('Éditer une catégorie'),
 'update_item' => __('Mettre à jour une catégorie'),
 'add_new_item' => __('Ajouter une nouvelle catégorie'),
 'new_item_name' => __('Nom de la nouvelle catégorie'),
 // 去掉末尾的空格
 'add_or_remove_items' => __('Ajouter ou supprimer une catégorie'),
 'choose_from_most_used' => __('Choisir parmi les catégories les plus utilisées'),
 'not_found' => __('Aucune catégorie d\'association trouvée'),
 'menu_name' => __('Catégories d\'association'),
 );
 $args_cat_association = array(
 'hierarchical' => true,
 'labels' => $labels_asso_taxonomy,
 'show_ui' => true,
 'show_admin_column' => true,
 'query_var' => true,
 'rewrite' => array( 'slug' => 'les-associations', 'with_front' => true )
 );
 register_taxonomy('les_associations', 'associations', $args_cat_association);
 // 删掉冗余代码
 // register_taxonomy_for_object_type('les_associations', 'associations');
}

最后一步

修改完代码后,记得刷新WordPress后台,或者重新保存一次固定链接设置(设置→固定链接→保存更改),确保所有设置生效。这样再进入Associations的编辑页面,就能看到你自定义的分类法盒子,默认分类会消失啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:55:54