WordPressの記事編集ページで、カテゴリーやカスタムタクソノミーの選択肢をラジオボタンに変更する方法のご紹介です。
WordPressインストール後の初期状態だと、カテゴリーはチェックボックスになっていて、1つの記事で複数のカテゴリを選択できるようになっています。これをラジオボタンに仕様変更して、1記事1カテゴリーにしたいときに便利なカスタマイズなんじゃないかと思います。
カテゴリーやカスタムタクソノミーをラジオボタンにするにはfunctions.phpを編集する
普通はこんな感じで、カテゴリーを複数できるようになっていますが、
テーマフォルダ内のfunctions.phpを開いて、以下のコードを追加することで、
function category_checklist_radio() {
echo '<script type="text/javascript">
jQuery(document).ready(function($){
$(".categorychecklist input[type=checkbox]").each(function(){
$check = $(this);
var checked = $check.attr("checked") ? \' checked="checked"\' : \'\';
$(\'<input type="radio" id="\' + $check.attr("id")
+ \'" name="\' + $check.attr("name") + \'"\'
+ checked
+ \' value="\' + $check.val()
+ \'"/>\'
).insertBefore($check);
$check.remove();
});
});
</script>';
}
add_action('admin_print_footer_scripts', 'category_checklist_radio');
ラジオボタンになって、1カテゴリーしか選べないようになります。
プラグインを使ってカテゴリーをラジオボタンに変更する方法
カテゴリーリストをラジオボタンに変更するには、PS Taxonomy Expanderというプラグインを使うという手もあります。
PS Taxonomy Expanderプラグインでできること
- カテゴリー・階層化タクソノミーの登録方式を変更可能に
- タクソノミーのデフォルト設定
- メディアのカテゴライズ
- 現在の表示へのカスタム分類追加
- 分類の順序指定
- 記事一覧へのカスタム分類表示追加
タクソノミー周りの機能を拡張するのにとても便利なプラグインだったんですが、2019年時点のバージョンのWordPressだと、PS Taxonomy Expanderを有効にしていることで、管理画面の記事や固定ページの一覧ページで、なぜかクイック編集が使えません。(クイック編集リンクをクリックしても、隠れている編集フィールドが表示されない)
なので、カテゴリーのをラジオボタン化するだけなら、functions.phpを編集するほうが良いんじゃないでしょうか。
コメントを残す