ラック
Home > CMS > 記事 > 2016年2月 > 管理画面でカスタムタクソノミーを単一選択のみ許可したい

管理画面でカスタムタクソノミーを単一選択のみ許可したい

カテゴリ: WordPress

参考はこちら。

自分の環境だと、投稿画面のidのところはchecklistの前にアンダーバーやハイフンがなかったので少し引っかかりました。

jQueryの出力をヒアドキュメントにしたのと、上記の部分をカスタマイズしたのが以下。

/* カスタムタクソノミーを単一選択にする方法 */
/* 注1:「hogeslug」はカスタムタクソノミーのスラッグ */
function select_to_radio_my_taxonomy() {

echo <<< HEAR
<script type="text/javascript">
	jQuery(function($) {
		//投稿画面
		$('#hogeslugchecklist input[type=checkbox]').each(function() {
			$(this).replaceWith($(this).clone().attr('type', 'radio'));
		});

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

}
add_action('admin_print_footer_scripts', 'select_to_radio_my_taxonomy', 100);

自分のサイトに宛がう場合は、ulのidやclassに付いているものをよく確認して適応させた方が良さそうです。

カテゴリーの場合は「hogeslug」の部分を「category」にすれば良さそうな感じです。

タグ: カスタムタクソノミー

 



関連する記事一覧