WordPressでカテゴリー・タクソノミーをラジオボタンで1つだけ選択させる方法

公開日
最終更新日
WordPress 投稿のカテゴリーやタクソノミーを1つしか選択できないように制限する

WordPressで記事を書くとき、カテゴリーやタクソノミーを「1つだけ」に制限したい場面があります。標準ではチェックボックスで複数選べてしまうため、運用ルールとして1つに絞りたいのに、うっかり複数選ばれてしまう——よくある悩みです。

結論から言うと、プラグイン「Radio Buttons for Taxonomies」を使えば、カテゴリーやタクソノミーの選択をチェックボックスからラジオボタンに変え、1つだけ選べるように制限できます。この記事では、その導入手順と、選択を必須にするための追加設定を解説します。

カテゴリーを1つに絞れると、アーカイブページやパンくずリストの表示が安定し、記事がどの分類に属するかが明確になります。特に、カテゴリーごとにデザインや導線を分けているサイトでは、複数選択されると表示が崩れる原因にもなるため、1つに制限しておくと安心です。

プラグイン「Radio Buttons for Taxonomies」を導入する

まず、プラグイン「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つに整理されません。導入時は、既存記事のカテゴリーを一度見直しておくと、一覧やアーカイブの表示のズレを防げます。

まとめ

  • 「Radio Buttons for Taxonomies」で、カテゴリー・タクソノミーを1つだけ選択に制限できる
  • チェックボックスがラジオボタンに変わり、複数選択を防げる
  • 「No 〇〇」を消すには、functions.phpでフィルターを追加し、タクソノミー名を書き換える

カテゴリーを1つに絞れると、記事の分類が明確になり、一覧やアーカイブの表示も安定します。クライアントに更新を任せるサイトでは、選択ミスを防ぐ仕組みとしても効果的です。

IPPEI FUKUTA(株式会社バッズブルー 代表)

IPPEI FUKUTA(株式会社バッズブルー 代表)

WordPress専門のWeb制作者として15年・150サイト以上を担当。現場でつまずいた問題と解決策を、同じ制作者・フリーランスの方に向けて発信しています。無料のWeb便利ツール集「バドツール」を開発・運営中。