投稿時にカテゴリーが選ばれていなかったらエラーメッセージを出す

この記事は約5分で読めます。

投稿時に様々な失敗があり(^_^;、functions.phpで対応可能なところは色々と仕込んで間違いの無いようにしてきました。先日またしても「あぁ~orz」と間違ってしまいました。カテゴリーを選択するのを忘れて「未分類」になってしまっていました。投稿時に気がつけば直すのですが、もしそのまま未分類で投稿してしまうとその後ではなかなか気がつきません。
ということで、これでもか!の投稿時チェックにカテゴリーのチェックを加えました。あと、いままでたくさん作ったので投稿うっかりチェック対策の一覧も付けてあります(^^)/

投稿時にカテゴリーを入れないとどうなるか

投稿時、カテゴリーを指定し忘れると

こんな感じに、未分類 というカテゴリーに自動的に割り当てられます。せっかく記事を書いたのに、未分類になってしまうのはとても残念ですので、ちゃんとしたカテゴリーに分けたいのですがつい忘れてしまうこともあります。

また、この未分類というカテゴリーは通常は選択肢にも現れませんが、カテゴリーの指定をしないとチェックされた状態で出てきます。カテゴリーを指定し忘れたのに気づいて、ちゃんとしたカテゴリーを指定しても 未分類 のチェックを外し忘れたままだと



未分類 
というカテゴリーが残ってしまいます。

functions.phpにカテゴリーが入っていないとき、カテゴリーに未分類が含まれるときにエラーを出すようにする

ということで、子テーマのfunctions.phpで「投稿時、カテゴリーの指定が無い」「投稿時カテゴリーの指定に未分類が入ってる」場合にエラーメッセージを出すようにしてみます。

functions.phpに

function ryus_category_check_message() {
    // 投稿(post_type='post')のとき カテゴリー が入ってないor未分類カテゴリーが指定されているときにメッセージを出す
    global $pagenow;
    global $post;
    
    $categoryRequireMessage ='カテゴリーが未分類です。指定してください';
    $categoryMibunruiExistMessage ='カテゴリー 未分類 にチェックが入っています。チェックを外してください';
    $messageErrorTemplate = '<div class="message error"><p>%s</p></div>';
    
    if ($pagenow == 'post.php'){
        if ($post->post_type == 'post') {
            // 投稿画面で投稿のとき
            $categories = get_the_category( $post->ID );
            $mibunruiExistFlag = false;
            foreach($categories as $category){
                if ($category->cat_ID == 1) {
                    $mibunruiExistFlag = true;
                }
            }
            if ($mibunruiExistFlag == true) {
                if (count($categories) == 1) {
                    // カテゴリーの指定がない
                    echo sprintf($messageErrorTemplate, $categoryRequireMessage);
                } else {
                    // カテゴリーの指定はあるけど、未分類にチェックが入ってる
                    echo sprintf($messageErrorTemplate, $categoryMibunruiExistMessage);
                }
            }
        }
    }
}
add_action( 'admin_notices','ryus_category_check_message' );

このコードを追加します。

この状態で、カテゴリーなしで保存してみます。

このように、「カテゴリーが未分類です。指定してください」というメッセージが表示されます。

さらに、この投稿にカテゴリーを指定するけれどもカテゴリーの未分類にチェックを付けたままで保存してみます。

すると、「カテゴリー 未分類 にチェックが入っています。チェックを外してください」このようにメッセージが変わりました。未分類のチェックを外して保存すると、

エラーメッセージが出なくなりました。

まとめ:投稿時うっかりさんチェックシリーズの一覧はこちら!

ということで、投稿時にうっかりして間違ってしまうチェックのために色々入れ込んでいます。
今回のカテゴリーチェックを含めた一覧を貼っておきますので、うっかりさんは是非参考にしてください!

「投稿時にカテゴリーが選ばれていなかったらエラーメッセージを出す」
「投稿に「続きを読む」が入っていなかったらメッセージを表示する」
「投稿や固定ページのスラッグに関するメッセージを投稿画面に表示する」
「間違って公開を押してもすぐに公開されないようにする-ドジっこスペシャル付き」

兎本美佳

ブログを見た人がそのままできたらいいなと思って、できるだけ丁寧に書いています。blogに書いたようなネタの有償対応のご相談は「ゆうそうと」へいただければと思います(^^)/
無償での対応をご希望の場合は、コメントをいただけましたら可能な場合はコメントを返させていただきます。

ゆうそうとITブログの更新通知が受け取れます!
スポンサー広告

WordPress 全般
スポンサーリンク
ゆうそうとITブログの更新通知が受け取れます!
ゆうそうとITブログ

コメント

トップへ戻る

ゆうそうとについての説明

ゆうそうと とは東京都八王子市を中心として、WordPressによるWEBサイトの作成や、スポットでのIT相談を行ったり、年間契約でのIT顧問をなりわいとして活動しています。

特徴としては30年以上IT業界でプログラムを中心として仕事をしてきたものと、美大出身のデザイナーがワンストップで対応するため、幅広い対応が可能であることです。

IT相談は直接お会いしてのご相談の他、ZOOMによるオンライン相談も可能です。