WordPressでカテゴリーを1つだけ選択可能にする方法|複数選択を禁止する実装例

公開日:2026.06.08 更新日:2026.06.23

WordPress

この記事には広告が含まれています。

はじめに

WordPressの投稿機能では、デフォルトで複数のカテゴリーを選択できます。
しかしサイトによっては、

  • 記事は必ず1つのカテゴリーに所属させたい
  • パンくずリストを安定させたい
  • URL構造をシンプルにしたい
  • 投稿ルールを統一したい

といった理由から、カテゴリーを1つだけ選択できるようにしたい場合があります。
私も実務で「子カテゴリーのみ選択可能」「複数選択禁止」という要件に対応したことがありました。
今回は、WordPressでカテゴリーを1つだけ選択できるようにする方法を紹介します。

デフォルトのカテゴリー選択

WordPress標準ではチェックボックス形式になっています。

☑ お知らせ
☑ イベント
☑ ブログ

そのため複数選択が可能です。

JavaScriptで複数選択を禁止する方法

管理画面でカテゴリーを1つだけ選択可能にする場合、JavaScriptで制御する方法が手軽です。
functions.phpに以下を追加します。

function limit_category_selection() {
 global $pagenow;
 if (($pagenow === 'post.php' || $pagenow === 'post-new.php')) {
?>
<script>
jQuery(function($){
 $('#categorychecklist input[type="checkbox"]').on('change', function(){
  if($(this).prop('checked')){
   $('#categorychecklist input[type="checkbox"]').not(this).prop('checked', false);
  }
 });
});
</script>
<?php>
 }
}
add_action('admin_footer', 'limit_category_selection');

動作イメージ

例えば、

☑ お知らせ
◻︎ イベント
◻︎ ブログ

の状態で、カテゴリーの「イベント」を選択すると、

◻︎ お知らせ
☑ イベント
◻︎ ブログ

となり、先に選択していたカテゴリーが自動で解除されます。

Gutenbergでも有効

この方法はクラシックエディタだけでなく、Gutenbergのカテゴリー選択にも有効なケースが多いです。
ただしWordPress本体の仕様変更によってDOM構造が変わる可能性があるため、アップデート後は動作確認をおすすめします。

子カテゴリーだけ選択させたい場合

実務では、

お知らせ
├ イベント
├ 採用情報

ブログ
├ 制作実績
├ 技術メモ

のような構造になっていることがあります。

この場合、

親カテゴリーは選択不可

にして、

子カテゴリーのみ選択可能

とする運用が分かりやすくなります。

PHPで保存時に制御する方法

JavaScriptだけでは完全ではありません。

例えば、

  • REST API
  • CSVインポート
  • プラグイン経由

などから複数カテゴリーが保存される可能性があります。

より厳密にするなら保存時にも制御します。

add_action('save_post', function($post_id){
 $cats = wp_get_post_categories($post_id);
 if(count($cats) > 1){
  wp_set_post_categories($post_id,array($cats[0]));
 }
});

クイック編集にも注意

しかし、WordPressには「クイック編集」という便利な機能があり、こちらでは別のカテゴリー選択UIが使用されています。
そのため、投稿編集画面だけを制御していても、クイック編集から複数カテゴリーを設定できてしまう場合があります。
私自身、更新作業ではクイック編集をよく利用するため、実務ではクイック編集側もあわせて制御するようにしています。

カテゴリーを厳密に管理したい場合は、

  • 投稿編集画面
  • クイック編集
  • 保存時の処理

のすべてで制御しておくと安心です。

クイック編集でカテゴリーを1つだけ選択可能にする方法については、以下の記事で詳しく解説しています。

「クイック編集でもカテゴリーを1つに制限する方法」

実務でカテゴリーを1つにする理由

私が案件でよく感じるメリットは以下です。

パンくずが安定する

複数カテゴリーの場合、

ホーム > お知らせ > 記事
ホーム > イベント > 記事

など表示が不安定になることがあります。

URL設計がシンプルになる

カテゴリーをURLに含めている場合、

どのカテゴリーを採用するか悩む必要がありません。

投稿ルールが統一できる

複数人で更新するサイトでは、

担当者ごとにカテゴリー付けのルールが変わることがあります。

カテゴリーを1つに限定することで運用が安定します。

まとめ

WordPressでは標準で複数カテゴリーを選択できますが、案件によっては1つだけ選択できるようにした方が管理しやすい場合があります。

私自身、企業サイトや施設サイトでは、

  • 子カテゴリーのみ選択
  • 複数選択禁止

という仕様を採用することがよくあります。

実装自体はJavaScriptで比較的簡単に実現できますが、運用まで含めて考えると、保存時の制御やクイック編集への対応も検討しておくと安心です。