WordPressで、カテゴリーやタグなどの「分類項目」を増やすことができる「カスタムタクソノミー」。
便利ですが、標準ではなにも選択しなくても登録することができます。これを、「カテゴリー」と同じように少なくとも1つは選択されるように改造をします。
テーマフォルダ内の「functions.php」に追加しましょう。
functions.php
add_action('admin_print_footer_scripts', 'admin_print_footer_scripts_custom', 21);
function admin_print_footer_scripts_custom() {
echo '<script type="text/javascript">
//<![CDATA[
jQuery(document).ready(function($){
// default check
if ($(".categorychecklist input[type=checkbox]:checked").length == 0) {
$(".categorychecklist li:first-child input:first-child").attr("checked", "checked");
}
});
//]]>
</script>';
}
「admin_print_footer_scripts」は、管理画面内の JavaScript出力部分のフックです。ここに、新しい JavaScriptとして画面表示時にカスタムタクソノミーの最初のチェックに、強制的にチェックをつけています。
HTMLの場合、ラジオボタンは一度チェックが付くと外すことはできないので、これで強制することができるというわけです。