2018.09.24

WordPress

WordPressの記事投稿時にカテゴリの1つ目に自動でチェックを入れる方法

チェックリストにチェックを入れているイメージ

wordpressの記事投稿時に、デフォルトのカテゴリーには予めチェックを入れておきたいときや、カテゴリーへのチェックを強制したいときに利用できるコードを紹介します。 「だいたいの記事が1つ目のカテゴリなんだけど、特定の記事だけは他のカテゴリに分類することがある」というようなブログの運用は企業サイトではままあることかと思いますが、そういった場合の利便性アップや、チェック忘れを防止できます。

カテゴリにチェックが入ってるようにする記述

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 ($("#category-all .categorychecklist input[type=checkbox]:checked").length == 0) {
            $("#category-all .categorychecklist li:first-child input:first-child").attr("checked", "checked");
          }
      });
      //]]>
      </script>';
}

7~8行目の記述で投稿の種類とチェックする項目が何番目のものかをcssを利用して指定しています。

カスタム投稿の場合

前述の7~8行目を編集することで特定のカスタム投稿タイプを指定して、チェックを入れておく命令を行えます。
#category-allの部分を制作したカスタム投稿タイプのIDへと書き直します。以下は#test-categoryというカスタム投稿タイプ名に変更した例です。

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 ($("#test-category .categorychecklist input[type=checkbox]:checked").length == 0) {
            $("#test-category .categorychecklist li:first-child input:first-child").attr("checked", "checked");
          }
      });
      //]]>
      </script>';
}

まとめ

クリック一回分の手間とはいえ、更新のたびに発生する動作だと簡便化したくなるのが人の性というものです。運用に合わせて可能な限り便利なカスタマイズを行って、利用者満足度の向上に貢献しましょう。

SHARE

この記事の筆者

Web&Soundクリエイター 田村 培修

Web&Soundクリエイター 田村 培修

楽器とパソコンのキーボードを使い分ける当社のマルチクリエイター。e-sportsに興味津々であれこれ情報を収集中。

WEBSITE DESIGN REQUEST

ホームページ制作・リニューアルの
ご相談はお気軽に

TEL 06-6537-9941 平日 9:00〜19:00

〒550-0012 大阪府大阪市西区立売堀2-5−41

ホームページ制作を相談する