2023/10/04備忘録wordpress

php8系でエラー「Undefined property: WP_Error::」を解消

Undefined property: WP_Error::」は「プロパティが定義されていません」ですから、未定義のプロパティがあるということですね。

出る場面はまちまちで、今回の場合は、
「Do not pass the second parameter in get_query_var() function.」
「its an optional parameter default empty.」でした。

つまり「get_query_var() の第2パラメーターは、初期状態が空っぽなので渡せません」ということです。

「空っぽ = =未定義」ということですね。

変数に渡す前に、手っ取り早く第2パラメーターを渡したいところですが、変数に入れた後に使うことで、解消します。

/*修正前*/
$term_object = get_queried_object();
$term_slug = $term_object->slug;
if(empty($term_slug)){
	$term_slug = 'all';
}
/*修正後*/
$term_object = get_queried_object();
$term = $term_object;
if(empty($term->slug)){
	$term_slug = 'all';
}