WordPress自定义分类法元框未在后台菜单显示问题排查
解决WordPress自定义分类法元框不显示的问题
嘿,我仔细看了你的代码,发现两个关键问题导致自定义分类法的元框没在文章编辑页面右侧显示,咱们来一步步修复:
1. Rewrite 参数格式错误
你在register_taxonomy的rewrite配置里写错了格式:
'rewrite' => array( 'business-type' => 'topic' ),
WordPress的rewrite参数需要用slug作为键来定义分类法的URL别名,而不是直接把分类法名称当键。正确的写法应该是:
'rewrite' => array( 'slug' => 'topic' ),
2. 适配古腾堡编辑器(可选但关键)
如果你的WordPress后台用的是古腾堡编辑器,默认情况下自定义分类法不会自动出现在侧边栏元框里,需要添加show_in_rest参数并设为true,让分类法支持REST API(古腾堡依赖这个来加载元框)。
修正后的完整代码
把你的代码替换成下面这段,就能解决问题了:
function create_business_taxonomy() { $labels = array( 'name' => _x( 'Businesses', 'taxonomy general name' ), 'singular_name' => _x( 'Business', 'taxonomy singular name' ), 'search_items' => __( 'Search Businesses' ), 'all_items' => __( 'All Businesses' ), 'parent_item' => __( 'Parent Business' ), 'parent_item_colon' => __( 'Parent Business:' ), 'edit_item' => __( 'Edit Business' ), 'update_item' => __( 'Update Business' ), 'add_new_item' => __( 'Add New Business' ), 'new_item_name' => __( 'New Business Name' ), 'menu_name' => __( 'Business' ), ); register_taxonomy('business-type',array('post'), array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => false, 'query_var' => true, 'show_in_rest' => true, // 新增:适配古腾堡编辑器 'rewrite' => array( 'slug' => 'topic' ), // 修正rewrite参数格式 )); } add_action( 'init', 'create_business_taxonomy', 0 );
最后别忘了刷新固定链接
修改完代码后,登录WordPress后台,进入设置 → 固定链接,直接点击「保存更改」按钮,刷新WordPress的重写规则,避免URL跳转出问题。
内容的提问来源于stack exchange,提问作者Amir Hossein
相关产品推荐
相关产品推荐

