仕様
- カスタム分類(タクソノミー)にデフォルトでチェック入れておきたい
- 全部にチェクが入っていないときはアラート出す
WordPressの仕様上カテゴリーと異なり、デフォルトの値はそのままでは設定できないので。
(ただしプラグインを使えば出来るようになる)
ソース
http://qiita.com/gatespace/items/e13b4537282386c6ff3f
上記の応用でjQueryベースで対応可能
<?php
// カスタム分類(タクソノミー)の book の スラッグ blue がチェックされてるかどうか
add_action( 'admin_head-post-new.php', 'book_term_post_edit_required' ); // 新規投稿画面でフック
add_action( 'admin_head-post.php', 'book_term_post_edit_required' ); // 投稿編集画面でフック
function book_term_post_edit_required() {
// book タクソノミーの blue タームのIDを取得
$book_term = get_term_by( 'slug', 'blue', 'book' );
$book_term_id = $book_term->term_id;
// ここでIDの有無をちゃんとチェックした方がいいのだけどね。
?>
<script type="text/javascript">
jQuery(document).ready(function($){
// load した時
var term_check = $('#taxonomy-book input:checked').length;
if ( term_check == 0 ){
$('#in-book-<?php echo $book_term_id ?>').prop('checked',true);
$('#in-popular-book-<?php echo $book_term_id ?>').prop('checked',true);
}
if( 'post' == $('#post_type').val() ) {
$("#post").submit(function(e){ // 更新あるいは下書き保存を押したとき
term_check = $('#taxonomy-book input:checked').length;
if ( term_check == 0 ){
alert('Bookにチェックを入れてください');
$('.spinner').hide(); // spinnerアイコンを隠す
$('#publish').removeClass('button-primary-disabled'); // #publishからクラス削除
$('#in-book-<?php echo $book_term_id ?>').prop('checked',true);
return false;
}
});
}
});
</script>
<?php
}
現場からは以上です。