Notice: Undefined index: post_typeの対応

概要説明

値が設定されていないのに参照しようとして表示されるNotice(お知らせ)。エラーや警告ではないのでそのままでも問題は有りませんがログを出さないようにしたい方はisset()などで対応を行いましょう。

定義されていない情報を参照していることが原因

$post_type = $wp_query->query['post_type'];

今回問題となった記述。一見問題ないような記述ですがパラメーターが設定されていない場合が考慮されていません

// 三項演算子版
$post_type = isset($wp_query->query_vars['post_type']) ? $wp_query->query_vars['post_type'] : false;

// if で分岐
if ( isset($wp_query->query_vars['post_type']) ) {
    // 定義されている場合
    $post_type = $wp_query->query_vars['post_type'];
} else {
    $post_type = false;
}

対応方法 – isset

動的な値の取得については定義されているかどうか isset() を使うことで対応できます。

Undefined index系のエラーはisset()で分岐を入れることで対応ができます。

関連機能

  1. 日本語を含むファイル名のファイルをアップロードした時に自動的にリネームさせる

  2. WordPress 6.7 「Notice: Function _load_textdomain_just_in_time was called incorrectly.」

  3. WordPressページで404 not foundの場合にトップページにリダイレクトを行う

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

ファーストキスのような
強烈な行為と共に
海馬に記憶されたエピソードは
忘却しにくいのよ

STEINS;GATE
by 牧瀬紅莉栖

Profile

PAGE TOP
Amazon プライム対象