マジカルスリー・だいすけのなりゆき長者ブログ

沖縄/大阪WEB広告・ホームページ制作・印刷物制作 マジカルスリー 「福」代表のブログ

*

PHPのバージョン変更したことでエラーが出る

   

PHPバージョン7系のサーバーからPHPバージョン8系サーバーにサイト移管した時のことです。

Warning: Undefined array key 0 in ~

のようなエラーが出ました。

そもそもちゃんと新しいサーバーでテストサイトを作って行うのが最上ですが、工数に入ってなかったので深夜に突貫作業しました。
※良い子は真似しないでください(^o^)

 

エラーが出ているPHPのソースを見てみるとどうやらカテゴリ名取得でエラーが起こっている。

そもそも7系でエラーが出ていなかったので7系なら大丈夫じゃねえかな、と一旦サーバーのPHPバージョンを7系にしてみる。

エラーが出ない。ミッションコンプリート!

…んなわけない。このまま終わったら8系への対応を見捨てるということになります。

お金貰わずサービスでやるならこういう暫定処置もするけど。

 

さて、再度PHPを8系に戻してソースを見てみる。

$category = get_the_category();
$cat_id = $category[0]->cat_ID;
$cat_name = $category[0]->cat_name;
$cat_slug = $category[0]->category_nicename;

このままだと$categoryに値が入らない場合、上記エラーが出るので、

$category = get_the_category();
if(isset($category, $category[0])) {
$cat_id = $category[0]->cat_ID;
$cat_name = $category[0]->cat_name;
$cat_slug = $category[0]->category_nicename;
}

このように修正。エラーは出なくなりました。

カテゴリ内に適当な記事を入れるだけでも回避できそうだけど、プログラム的にはよろしくないです。

ちゃんとエラー処理は作っておきましょう。

いじょう。

 - WordPressの事

Message

  関連記事

WordPressで記事ごとに簡単リダイレクト「Page Links To」

WordPressの記事を別ページに置き換えたくなるときってありませんか? たと …

WordPressの検索欄が未入力で全件表示してしまう件

間違えて空欄で検索した時に全件表示・・・。 バグでもエラーでもないんですがなんか …

WP_Queryの使い方

WP_Queryの使い方はちょくちょく忘れますので忘備録。 WP_Queryの使 …

サムネイルをいちいち入れるのめんどくさい人に Default Thumbnail Plus

めんどくさがりやーな「だいすけ」です。 こんにちは。 WordPressのサムネ …

カスタムフィールドの画像をアイキャッチに自動登録

毎度おなじみ自分への忘備録です。   投稿時にカスタムフィールドの画像 …

月別アーカイブページでカテゴリ指定

月別アーカイブページでカテゴリ指定したい・・・ でも、query_postsやW …

アーカイブページでタームごとに記事一覧を出力する

カスタム投稿の記事一覧を出したい ターム名1(カスタム投稿の「カテゴリ名」のよう …

WordPressで記事のカルーセルスライダー(jQuery的なスライドショー)

WordPressがそれなりにいじれると分かってから、嫁様の私への”こき使いっぷ …

WordPressで記事を取得、ループしたいときに-その2

WordPressで記事を取得したいんだけど・・・ WordPressで記事を取 …

WordPressでプラグイン無しサイトマップ

【WordPress】プラグイン無しでサイトマップを追加する方法。 コードのみで …