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で編集できます。テーマや仕様に合わせて使いやすい文言や表示箇所に編集できます。