Learning site for website creation

WordPressでカテゴリ選択を一つだけにする

  • 投稿日:2017年03月03日

よく使いそうなので調べた結果を記録。

「functions.php」に追記して対応。

/*********************************
  カテゴリを一つだけ選択
**********************************/
add_action( 'admin_print_footer_scripts', 'only_category_select' );
function only_category_select() {
    $cat = '#categorychecklist';  //カテゴリクラス名
    $quickedit_cat = '.category-checklist';  //クイック編集カテゴリクラス名
    ?>
    <script type="text/javascript">
        jQuery(function($) {
            // 投稿画面カテゴリ
            var cat = $('<?php echo $cat ?> input[type=checkbox]');
            cat.on('click', function() {
                $(this).parents('<?php echo $cat ?>').find('input[type=checkbox]').attr('checked', false);
                $(this).attr('checked', true);
            });

            // クイック編集カテゴリ
            var quickedit_cat = $('<?php echo $quickedit_cat ?> input[type=checkbox]');
            quickedit_cat.on('click', function() {
                $(this).parents('<?php echo $quickedit_cat ?>').find('input[type=checkbox]').attr('checked', false);
                $(this).attr('checked', true);
            });

            $('<?php echo $cat ?>>li:first-child, <?php echo $quickedit_cat ?>>li:first-child').before('<p style="padding-top:5px;">1つしか選択できません</p>');
        });
    </script>
    <?php
}