blog-post-img-468

WordPressの投稿でタイトル入力を必須に設定(未入力時は警告メッセージ)

ここ最近のWordpressは一昔前に比べて、安定しています。

(サイト書き換えのセキュリティーホールがありましたが)


大幅な機能の追加は無く、安定期に入っているのかもしれません。


そんな、使い勝手の良くなったWordpressですが

投稿時にタイトルを未入力で投稿できてしまう問題があります。


これはこれで、サイトのコンテンツ内容、運用方法を柔軟にする目的では

いいのですが、未入力をさけたいサイトの場合は

投稿者に入力をお願いするしかありません。

(テンプレートによっては無題と表示される場合があります)

一度投稿が完了した時に、未入力の場合、自動共有している他のサービスに影響が

出てくるかもしれません。また、Wordpressのパーマネント(URL)が意図しないものになってしまいます。

後から修正してもいいのですが、Googleに既にページをキャッシュされている場合は

変更の手間が増えかねません。


そこで必ずタイトルを入力する!タイトルを必須にするように設定します。

方法としては、管理画面にオプションがあればいいのですが、今のところ設定項目がありません。


プラグインを入れるか?または、function.phpにコードを追加する方法があります。

プラグインをインストールするまでも無いので

ここはfunction.phpにコードを追加するのが手っ取り早いでしょう。


タイトルの未入力時は警告メッセージを表示するコード

add_action('admin_head-post-new.php', 'MY_title_required');
add_action('admin_head-post.php',     'MY_title_required');

function MY_title_required() {
echo <<< EOF
<script>
  jQuery(document).ready(function($){
      $("#post").submit(function(e){
        if($('#title').val() == '') {
          alert('タイトルを入力してください');
          $('.spinner').css('display', 'none');
          $('#publish').removeClass('button-primary-disabled');
          $('#title').focus();
          return false;
        }
      });
  });
</script>
EOF;
}
※alert('タイトルを入力してください'); のメッセージを変更すれば、任意の警告メッセージに変更できます。