Categories Metabox Enhanced

Changelog

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.

Plugin Website
Visit website

Author
Yoren Chang
Version:
0.9.2
Last Updated
June 25, 2026
Active Installs
1000
Requires
WordPress 5.5
Tested Up To
WordPress 7.0

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.