コピペで簡単!カテゴリーを選んでないと公開できなくする<wordpress>
WordPressの「投稿」などで「カテゴリー」を何かしら選択していないと「公開」できなくする方法を紹介します。
もちろん、カスタム投稿タイプでもカスタムタクソノミーでも可能です。
早速コードを紹介、下記をfunctions.phpにコピペすれば「投稿」で「カテゴリー」を選択してないと公開できなくなります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<?php add_action('edit_form_after_editor','my_edit_form_after_editor'); function my_edit_form_after_editor(){ global $post_type; $script = <<<EOT <script> window.addEventListener('DOMContentLoaded',function(){ var \$publishingButton = document.getElementById('publish'); \$publishingButton.addEventListener('click',function(e){ var categorys = document.querySelectorAll('#categorychecklist input');//カテゴリーを選択 categorys = Array.prototype.slice.call(categorys,0),key = false; categorys.forEach(function(\$category,i){ if(\$category.checked){ key = true; } }); if(!key){ alert('カテゴリーを選択してください'); e.preventDefault(); } }); }); </script> EOT; if($post_type == 'post'){//投稿タイプを選択 echo $script; } } |
カスタム投稿タイプで利用したい場合は
「//投稿タイプを選択」と記述のある行を修正。
カテゴリーではなくカスタムタクソノミーを強制させたい場合は
「//カテゴリーを選択」と記述のある行を修正すれば可能です。
WordPress