如何调整WordPress文章后台分类法(非术语)的显示顺序
调整WordPress后台分类法Metabox顺序的解决方案
插件方案(推荐)
- 使用 Post Metabox Order and Control 插件:安装激活后,进入书籍自定义文章类型的编辑页面,点击右上角「屏幕选项」,启用「拖动 metabox 排序」功能,即可直接拖拽所有分类法的 metabox 调整上下顺序,也能将它们统一移到页面底部,完全适配你的需求。
代码实现方案
若不想依赖插件,可通过代码手动控制分类法 metabox 的优先级与位置:
方法1:自定义分类法Metabox优先级
通过钩子移除默认分类法 metabox,再按需求顺序重新添加并指定优先级:
function custom_taxonomy_metabox_order() { // 替换为你的自定义文章类型slug(示例为book) $cpt_slug = 'book'; // 按需要的顺序排列分类法slug $tax_order = array('format', 'status', 'setting', 'genre'); // 起始优先级,数字越小越靠前 $priority = 'high'; foreach($tax_order as $tax_slug) { $metabox_id = $tax_slug . 'div'; // 移除默认侧边栏的分类法metabox remove_meta_box($metabox_id, $cpt_slug, 'side'); // 重新添加并设置优先级 add_meta_box( $metabox_id, get_taxonomy($tax_slug)->labels->name, 'post_categories_meta_box', $cpt_slug, 'side', $priority ); // 依次降低优先级,保证顺序 $priority = $priority === 'high' ? 'core' : ($priority === 'core' ? 'default' : 'low'); } } add_action('add_meta_boxes', 'custom_taxonomy_metabox_order', 99);
方法2:将分类法统一移至页面底部并排序
如果需要把所有分类法 metabox 放到页面底部,可修改上下文为normal并按顺序设置优先级:
function move_taxonomies_to_bottom() { $cpt_slug = 'book'; $tax_order = array('format', 'status', 'setting', 'genre'); $priority = 100; // 大数值确保在底部,数值越小越靠前 foreach($tax_order as $tax_slug) { $metabox_id = $tax_slug . 'div'; remove_meta_box($metabox_id, $cpt_slug, 'side'); add_meta_box( $metabox_id, get_taxonomy($tax_slug)->labels->name, 'post_categories_meta_box', $cpt_slug, 'normal', $priority ); $priority += 10; } } add_action('add_meta_boxes', 'move_taxonomies_to_bottom', 99);
注意:代码需替换为你实际的自定义文章类型slug和分类法slug,添加到主题的
functions.php文件或自定义插件中。
效果验证
修改完成后进入书籍编辑页面,分类法 metabox 将按照你设置的顺序排列,无需频繁滚动页面调整。
内容的提问来源于stack exchange,提问作者ProgressionFantasy
相关产品推荐
相关产品推荐

