Close

カテゴリー選択画面でカテゴリを一つしか選択できないようにするメモ

カテゴリ選択画面変更の目的

WordPressの投稿画面でカテゴリを選択する際に、デフォルトでは複数カテゴリが選択できますが、私の場合は複数選択してカテゴリが煩雑になるのを防ぐため、一つだけ選択するように変更したく、探しました。

参照させて頂いたサイト

http://2inc.org/blog/2013/04/05/3121/

テーマフォルダ内の functions.php へ以下を<?php ~ ?>内に記述して使用する。

通常カテゴリー用

add_action( 'admin_print_footer_scripts', 'select_to_radio_category' );
function select_to_radio_category() {
    ?>
    <script type="text/javascript">
    jQuery( function( $ ) {
        // 投稿画面
        $( '#taxonomy-category input[type=checkbox]' ).each( function() {
            $( this ).replaceWith( $( this ).clone().attr( 'type', 'radio' ) );
        } );
         
        // 一覧画面
        var category_checklist = $( '.category-checklist input[type=checkbox]' );
        category_checklist.click( function() {
            $( this ).parents( '.category-checklist' ).find( ' input[type=checkbox]' ).attr( 'checked', false );
            $( this ).attr( 'checked', true );
        } );
    } );
    </script>
    <?php
}

カスタムタクソノミー用

//タクソノミー選択画面で一つだけしか選択できないようにする。
// hoge_taxonomy の部分はタクソノミー名
add_action( 'admin_print_footer_scripts', 'select_to_radio_hoge_taxonomy' );
function select_to_radio_hoge_taxonomy() {
    ?>
    <script type="text/javascript">
    jQuery( function( $ ) {
        // 投稿画面
        $( '#taxonomy-hoge_taxonomy input[type=checkbox]' ).each( function() {
            $( this ).replaceWith( $( this ).clone().attr( 'type', 'radio' ) );
        } );

        // 一覧画面
        var hoge_taxonomy_checklist = $( '.hoge_taxonomy-checklist input[type=checkbox]' );
        hoge_taxonomy_checklist.click( function() {
            $( this ).parents( '.hoge_taxonomy-checklist' ).find( ' input[type=checkbox]' ).attr( 'checked', false );
            $( this ).attr( 'checked', true );
        } );
    } );
    </script>
    <?php
}

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

DAG kfz222