WordPressの投稿画面で、カテゴリーを1つのみ選択させるようにしたい場合がたまにあるので、ラジオボタンに変更する方法を調べました。
サンプルコード
変更しない場合は以下のような表示になっています。

投稿画面でJavaScriptを使用して、チェックボックスをラジオボタンに書き換えます。
functions.php
<?php
function change_category_to_radio() {
?>
<script>
jQuery(function($) {
// カテゴリーをラジオボタンに変更
$('#categorychecklist input[type=checkbox]').each(function() {
$(this).replaceWith($(this).clone().attr('type', 'radio'));
});
// 「新規カテゴリーを追加」を非表示
$('#category-adder').hide();
// 「よく使うもの」を非表示
$('#category-tabs').hide();
});
</script>
<?php
}
add_action( 'admin_head-post-new.php', 'change_category_to_radio' );
add_action( 'admin_head-post.php', 'change_category_to_radio' );
カテゴリーの選択をラジオボタンに変更するのに合わせて、「よく使うもの」タブで複数選択ができてしまうので非表示にしています。
また、「新規カテゴリーを追加」でチェックボックスにチェックされた状態でカテゴリーが追加できてしまうため、こちらも非表示にして対応しました。
変更後、以下のような表示になりました。

【参考サイト】
- 投稿画面のカテゴリーをセレクトボックスにしたりラジオボタンにしたり。 | web.contempo.jp
- WordPressのカスタムタクソノミーのチェックボックスをラジオボタンにする方法 – モンキーレンチ
コメントが承認されるまで時間がかかります。