Title: Categories Metabox Enhanced
Author: Yoren Chang
Published: <strong>2014년 9월 23일</strong>
Last modified: 2026년 6월 25일

---

플러그인 검색

![](https://ps.w.org/categories-metabox-enhanced/assets/banner-772x250.png?rev=3575768)

![](https://ps.w.org/categories-metabox-enhanced/assets/icon-256x256.png?rev=3575768)

# Categories Metabox Enhanced

 작성자: [Yoren Chang](https://profiles.wordpress.org/1fixdotio/)

[다운로드](https://downloads.wordpress.org/plugin/categories-metabox-enhanced.0.9.2.zip)

 * [세부사항](https://ko.wordpress.org/plugins/categories-metabox-enhanced/#description)
 * [평가](https://ko.wordpress.org/plugins/categories-metabox-enhanced/#reviews)
 *  [설치](https://ko.wordpress.org/plugins/categories-metabox-enhanced/#installation)
 * [개발](https://ko.wordpress.org/plugins/categories-metabox-enhanced/#developers)

 [지원](https://wordpress.org/support/plugin/categories-metabox-enhanced/)

## 설명

**Try it live in your browser** — [launch the WordPress Playground demo](https://playground.wordpress.net/?blueprint-url=https://raw.githubusercontent.com/1fixdotio/categories-metabox-enhanced/master/blueprint/playground.blueprint.json).
Boots a WordPress instance with this plugin active, the Category taxonomy pre-configured
as radio buttons, and seeded posts you can edit in the Block Editor or run through
Quick Edit / Bulk Edit immediately.

Thanks to [Taxonomy_Single_Term](https://github.com/WebDevStudios/Taxonomy_Single_Term),
a library created by [WebDevStudios](http://webdevstudios.com/), it made my work
much easier on creating this plugin.

With Categories Metabox Enhanced, you can:

 * Change the built-in Categories metabox/panel to a single term UI, which means
   replacing the checkboxes with radio buttons or a select drop-down.
 * Apply the single term UI to other hierarchical taxonomies from the plugin’s Settings
   page.
 * Configure each hierarchical taxonomy independently — the same install can keep
   one taxonomy as checkboxes while another is forced to radio.
 * Customize the single term UI by setting these options:
    - Option type (checkbox, radio, or select).
    - Priority and position (context) of the metabox placement. _Classic editor 
      only._
    - Title of the metabox / Block Editor panel.
    - Whether child-terms should be indented.
    - Whether adding new terms from the metabox is enabled.
    - Whether a term selection is required (Force selection). When on, the classic
      metabox hides the “None” option, the Block Editor sidebar drops the “— Select—”
      entry once a term is chosen, and an empty save is substituted with a default
      term server-side so REST and programmatic callers can’t bypass it.

The single-term invariant is enforced everywhere posts can be saved: the Classic
Editor metabox, the Block Editor sidebar panel, **Quick Edit**, **Bulk Edit**, the
REST API, WP-CLI, and any code that calls `wp_set_object_terms()` directly. The 
classic-editor and Block Editor surfaces enforce in the UI; everything else is enforced
on the server via the `set_object_terms` action, which coerces multi-term submissions
to the last term and substitutes the default term on empty submissions when Force
selection is on.

The substituted default term resolves in this order: the `default_<taxonomy>` option(
e.g. `default_category`)  the `default_term_<taxonomy>` option populated by `register_taxonomy()``
default_term` arg (WP 5.5+)  the first term ordered by name. Override per taxonomy
with the `of_cme_force_selection_default_term` filter.

The Block Editor sidebar panel is rendered for taxonomies registered with `show_in_rest
= true`. Hierarchical taxonomies that opt out of REST fall back to the Classic Editor
metabox path.

## 스크린샷

[⌊The checkboxes in Categories metabox are replaced with radio buttons⌉⌊The checkboxes
in Categories metabox are replaced with radio buttons⌉[

The checkboxes in Categories metabox are replaced with radio buttons

[⌊The checkboxes in Categories metabox are replaced with a select drop-down⌉⌊The
checkboxes in Categories metabox are replaced with a select drop-down⌉[

The checkboxes in Categories metabox are replaced with a select drop-down

[⌊A settings page for this plugin⌉⌊A settings page for this plugin⌉[

A settings page for this plugin

## 설치

 1. Upload the `category-metabox-enhanced` directory to the `/wp-content/plugins/` 
    directory
 2. Activate the plugin through the ‘Plugins’ menu in WordPress

## FAQ

### Does this work in Quick Edit and Bulk Edit?

Yes. WordPress’s Quick Edit and Bulk Edit forms render their own checkbox UI for
hierarchical taxonomies and the plugin doesn’t override that markup, so those forms
still let you tick more than one box. The single-term invariant is preserved server-
side: when the form is submitted, the plugin’s `set_object_terms` listener detects
the multi-term commit and coerces the post to the last selected term. The same behavior
applies to REST API writes and any programmatic `wp_set_object_terms()` call.

### Does it work with the Block Editor (Gutenberg)?

Yes. As of 0.8.0 the plugin ships a native sidebar panel built on `@wordpress/components`(`
TreeSelect` for select mode, a radio tree for radio mode) that replaces the default
Categories panel. The classic metabox is suppressed per-post when the Block Editor
is in use, so you don’t see a duplicate UI when the Classic Editor plugin lets users
switch editors per post.

### Does it support custom hierarchical taxonomies?

Yes. Every taxonomy registered with `hierarchical = true` shows up in the Settings
page with its own configuration block. Non-hierarchical taxonomies (tags-style) 
are out of scope.

### How do I change the default term used when Force selection substitutes one in?

Set the `default_<taxonomy>` option (e.g. the built-in “Default Post Category” under
Settings  Writing for `category`), or the `default_term` argument on `register_taxonomy()`
for custom taxonomies. To override per call, use the `of_cme_force_selection_default_term`
filter — it receives the resolved term ID and the taxonomy slug.

## 후기

![](https://secure.gravatar.com/avatar/1a6a90f90c3558fee183c4a1ab010977318a0f9af516a28a56a06eb9b2be4a21?
s=60&d=retro&r=g)

### 󠀁[Perfect!](https://wordpress.org/support/topic/perfect-7635/)󠁿

 [niel](https://profiles.wordpress.org/nielfernandez/) 2020년 9월 4일

This plugin is perfect it saves me to create a CMS because of enforcing select only
one category every post! . . Thanks, Author :))

![](https://secure.gravatar.com/avatar/f3db6cbd4ec1a6ceed59498ba288ced080af2e53803aa060f24c47e05e069be3?
s=60&d=retro&r=g)

### 󠀁[Almost perfect even in Gutenberg](https://wordpress.org/support/topic/almost-perfect-even-in-gutenberg/)󠁿

 [leymannx](https://profiles.wordpress.org/leymannx/) 2019년 2월 14일 답글 1개

Clever solution IMHO that this plugin simply replaces the default meta boxes with
its own. Unfortunately in WP 5 Gutenberg the default category / taxonomy meta boxes
still are visible.

![](https://secure.gravatar.com/avatar/f313461a2f8338a3f9844142e82b8339afeb9bd95c799daa3ff68f7d6b436218?
s=60&d=retro&r=g)

### 󠀁[Perfect plugin](https://wordpress.org/support/topic/perfect-plugin-534/)󠁿

 [tatof](https://profiles.wordpress.org/tatof/) 2018년 5월 11일

This plugin is easy to use and just works 🙂 Replace checkboxes for radios! FTW

![](https://secure.gravatar.com/avatar/13fd01f51806b002cf97f03bd5c2020fb47fabc223eed314fa05079287a82f14?
s=60&d=retro&r=g)

### 󠀁[Works on WordPress 4.9.4](https://wordpress.org/support/topic/works-on-wordpress-4-9-4/)󠁿

 [Andrew](https://profiles.wordpress.org/andrewjohnstrong/) 2018년 3월 21일

Works on WordPress 4.9.4

![](https://secure.gravatar.com/avatar/ba4296cc3bdf0eae07b849d8e3415e1a34bff4b451f1b11c2494ae13af23a99a?
s=60&d=retro&r=g)

### 󠀁[Works great to make categories a dropdown list](https://wordpress.org/support/topic/works-great-to-make-categories-a-dropdown-list/)󠁿

 [theuiguy](https://profiles.wordpress.org/theuiguy/) 2018년 1월 15일 답글 1개

I've used this plugin on multiple sites for years. It works great and keeps editors
from placing things in multiple categories. Although I understand that not everyone
uses categories the same way, it feel like WordPress should have a setting that 
forces categories to be one per post. In my use, tags are better suited when you
have a variety of ways you want to classify a post. It would be nice to be able 
to specify a default category, though.

![](https://secure.gravatar.com/avatar/a933ade5f9791672da2481d258b217d8eb26b3ad1a1d0c63c33952a8eed515d7?
s=60&d=retro&r=g)

### 󠀁[Perfect solution](https://wordpress.org/support/topic/perfect-solution-92/)󠁿

 [hsz_36](https://profiles.wordpress.org/hsz_36/) 2017년 7월 29일 답글 1개

This should be in core! Thanks for your work!

 [ 모든 16 평가 읽기 ](https://wordpress.org/support/plugin/categories-metabox-enhanced/reviews/)

## 기여자 & 개발자

“Categories Metabox Enhanced”(은)는 오픈 소스 소프트웨어입니다. 다음의 사람들이 
이 플러그인에 기여하였습니다.

기여자

 *   [ Yoren Chang ](https://profiles.wordpress.org/1fixdotio/)
 *   [ yoren ](https://profiles.wordpress.org/yoren/)

[자국어로 “Categories Metabox Enhanced”(을)를 번역하세요.](https://translate.wordpress.org/projects/wp-plugins/categories-metabox-enhanced)

### 개발에 관심이 있으십니까?

[코드 탐색하기](https://plugins.trac.wordpress.org/browser/categories-metabox-enhanced/)
는, [SVN 저장소](https://plugins.svn.wordpress.org/categories-metabox-enhanced/)
를 확인하시거나, [개발 기록](https://plugins.trac.wordpress.org/log/categories-metabox-enhanced/)
을 [RSS](https://plugins.trac.wordpress.org/log/categories-metabox-enhanced/?limit=100&mode=stop_on_copy&format=rss)
로 구독하세요.

## 변경이력

#### 0.9.2

 * Fix PHP 8.2+ “Creation of dynamic property is deprecated” notices by declaring
   the previously undeclared properties on `Taxonomy_Single_Term` (`$namefield`),`
   Taxonomy_Single_Term_Walker` (`$hierarchical`, `$input_element`), and `Category_Metabox_Enhanced_Admin`(`
   $plugin_screen_hook_suffix`). No behavior change.

#### 0.9.1

 * Fix server-side single-term enforcement, which was registered against `pre_set_object_terms`—
   a hook that does not exist in WordPress core — and never executed in 0.9.0. The
   handler now hooks `set_object_terms` and re-issues `wp_set_object_terms` with
   a corrected list when the single-term contract is violated, so REST and programmatic
   callers are now actually enforced. The classic-editor metabox path was unaffected;
   it relies on UI-level enforcement.
 * Register script translations for the Block Editor sidebar panel so its strings
   can be loaded from language packs.

#### 0.9.0

 * Add a “Force selection” per-taxonomy setting (defaults on) replacing the previously
   hardcoded classic-editor behavior. When on, the Block Editor sidebar suppresses“—
   Select —” once a term is chosen, and the server-side handler substitutes a default
   term for empty submissions on radio/select taxonomies — closing the bypass that
   REST and programmatic callers had on the single-term invariant. (The 0.9.0 release
   wired this handler against the wrong hook name; see 0.9.1.)
 * The substituted term resolves in this order: `default_<taxonomy>` option  `default_term`
   registered with the taxonomy (WP 5.5+)  first term by name asc. Filterable via`
   of_cme_force_selection_default_term`. Mirrors the classic library’s `process_default()`
   pattern.

#### 0.8.0

 * Replace the legacy Block Editor integration with a native sidebar panel built
   on `@wordpress/components` (`TreeSelect` / radio tree) and `PluginDocumentSettingPanel`.
 * Add server-side single-term enforcement so REST and programmatic saves can’t 
   bypass the radio/select invariant. (Released against the wrong hook name; superseded
   by 0.9.1.)
 * The classic-editor metabox path is unchanged; it now skips post types that use
   the Block Editor to avoid duplicate UI.

#### 0.7.1

 * Update the Taxonomy_Single_Term library and some cosmetic fixes.

#### 0.7.0

 * Support the single term UI in Gutenberg sidebar Categories/Taxonomies panels.

#### 0.6.1

 * Remove git submodule from this plugin.

#### 0.6.0

 * Indent the child-terms in select options.
 * Remove unused CSS and JS files.

#### 0.5.0

 * The first version.

## 기초

 *  버전 **0.9.2**
 *  최근 업데이트: **4개월 전**
 *  활성화된 설치 **1,000+**
 *  워드프레스 버전 ** 5.5 또는 그 이상 **
 *  다음까지 시험됨: **7.0.7**
 *  언어
 * [English (US)](https://wordpress.org/plugins/categories-metabox-enhanced/)
 * 태그:
 * [category](https://ko.wordpress.org/plugins/tags/category/)[metabox](https://ko.wordpress.org/plugins/tags/metabox/)
   [taxonomy](https://ko.wordpress.org/plugins/tags/taxonomy/)
 *  [고급 보기](https://ko.wordpress.org/plugins/categories-metabox-enhanced/advanced/)

## 평점

 별 5점 만점에 4.9점.

 *  [  14/5-별점 후기     ](https://wordpress.org/support/plugin/categories-metabox-enhanced/reviews/?filter=5)
 *  [  2/4-별점 후기     ](https://wordpress.org/support/plugin/categories-metabox-enhanced/reviews/?filter=4)
 *  [  0/3-별점 후기     ](https://wordpress.org/support/plugin/categories-metabox-enhanced/reviews/?filter=3)
 *  [  0/2-별점 후기     ](https://wordpress.org/support/plugin/categories-metabox-enhanced/reviews/?filter=2)
 *  [  0/1-별점 후기     ](https://wordpress.org/support/plugin/categories-metabox-enhanced/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/categories-metabox-enhanced/reviews/#new-post)

[모든  리뷰 보기](https://wordpress.org/support/plugin/categories-metabox-enhanced/reviews/)

## 기여자

 *   [ Yoren Chang ](https://profiles.wordpress.org/1fixdotio/)
 *   [ yoren ](https://profiles.wordpress.org/yoren/)

## 지원

할 말 있으신가요? 도움이 필요하신가요?

 [지원 포럼 보기](https://wordpress.org/support/plugin/categories-metabox-enhanced/)

## 기부

이 플러그인이 발전하도록 도우시겠습니까?

 [ 이 플러그인에 기부하기 ](http://1fix.io/)