2016.11.29
2017.05.24
WordPress
WordPressのカテゴリー選択を1つだけに制限する方法

WordPressのカテゴリー選択部分はチェックボックスで表示されており、デフォルトではひとつの記事に対して複数のカテゴリーを選択できるようになっています。これをひとつだけ選択できるように制限し、ひとつの記事にひとつだけカテゴリーを割り当てる方法をご紹介します。
カテゴリー選択をひとつに制限するコード
挙動はjavascriptで制御します。functions.phpに以下を追記してください。
add_action( 'admin_print_footer_scripts', 'limit_category_select' );
function limit_category_select() {
?>
<script type="text/javascript">
jQuery(function($) {
// 投稿画面のカテゴリー選択を制限
var cat_checklist = $('.categorychecklist input[type=checkbox]');
cat_checklist.click( function() {
$(this).parents('.categorychecklist').find('input[type=checkbox]').attr('checked', false);
$(this).attr('checked', true);
});
// クイック編集のカテゴリー選択を制限
var quickedit_cat_checklist = $('.cat-checklist input[type=checkbox]');
quickedit_cat_checklist.click( function() {
$(this).parents('.cat-checklist').find('input[type=checkbox]').attr('checked', false);
$(this).attr('checked', true);
});
$('.categorychecklist>li:first-child, .cat-checklist>li:first-child').before('<p style="padding-top:5px;">カテゴリーを1つ選んでください</p>');
});
</script>
<?php
}
上記のコードはカスタム投稿タイプでも有効ですが、特定の投稿のみ制限したい場合は.categorychecklistまたは.cat-checklistの部分を、制限したい投稿のみ記述へ変更をしてください。
カテゴリー欄への追記箇所はcssで編集できます。テーマや仕様に合わせて使いやすい文言や表示箇所に編集できます。



