WordPressで記事を書くとき、カテゴリーやタクソノミーを「1つだけ」に制限したい場面があります。標準ではチェックボックスで複数選べてしまうため、運用ルールとして1つに絞りたいのに、うっかり複数選ばれてしまう——よくある悩みです。
結論から言うと、プラグイン「Radio Buttons for Taxonomies」を使えば、カテゴリーやタクソノミーの選択をチェックボックスからラジオボタンに変え、1つだけ選べるように制限できます。この記事では、その導入手順と、選択を必須にするための追加設定を解説します。
カテゴリーを1つに絞れると、アーカイブページやパンくずリストの表示が安定し、記事がどの分類に属するかが明確になります。特に、カテゴリーごとにデザインや導線を分けているサイトでは、複数選択されると表示が崩れる原因にもなるため、1つに制限しておくと安心です。
まず、プラグイン「Radio Buttons for Taxonomies」をインストールして有効化します。

有効化したら、ラジオボタンにしたい任意のカテゴリーやタクソノミーに適用します。
適用は、プラグインの設定画面でタクソノミーごとにチェックを入れるだけです。標準のカテゴリーにも、自作のカスタムタクソノミーにも使えます。プラグインを増やしたくない場合は、functions.phpで独自にラジオボタンのメタボックスを作る方法もありますが、記述量が多く手間がかかります。手軽さを重視するなら、専用プラグインを使うのが現実的です。

適用すると、対象のカテゴリーやタクソノミーがチェックボックスからラジオボタンに変わり、1つしか選択できなくなります。

1つ気になるのが、選択肢の一番下に表示される「No 〇〇(カテゴリー名)」という項目です。これはカテゴリーを選択しないときに使う項目ですが、選択を必須にしたい場合は邪魔になるため、消してしまいます。
functions.phpに、次のコードを記述します。
add_filter("radio_buttons_for_taxonomies_no_term_testcat", "__return_false");
上の記述は、testcatというカスタムタクソノミーの場合の例です。フィルター名のradio_buttons_for_taxonomies_no_term_{タクソノミー名}の{タクソノミー名}の部分を、自分のタクソノミーのスラッグに書き換えてください。
これで、一番下にあった「No 〇〇」の項目が消え、選択肢がカテゴリーだけになります。

通常のカテゴリー(category)に適用したい場合は、フィルター名をradio_buttons_for_taxonomies_no_term_categoryとすればOKです。
1点、注意しておきたいことがあります。すでに複数のカテゴリーが設定されている記事は、プラグインを適用しても自動では1つに整理されません。導入時は、既存記事のカテゴリーを一度見直しておくと、一覧やアーカイブの表示のズレを防げます。
functions.phpでフィルターを追加し、タクソノミー名を書き換えるカテゴリーを1つに絞れると、記事の分類が明確になり、一覧やアーカイブの表示も安定します。クライアントに更新を任せるサイトでは、選択ミスを防ぐ仕組みとしても効果的です。