概要説明
値が設定されていないのに参照しようとして表示される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()で分岐を入れることで対応ができます。