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

沖縄/大阪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

  関連記事

WP_Queryの使い方

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

Limit Login Attempts Reloadedとしてヤツが帰ってきた件

かんたん優秀なセキュリティ、「Limit Login Attempts」 Lim …

テーマの自動アップデートがイヤな場合は

最近梅の花がとってもきれいに咲いてますね。 春の訪れを感じながら仕事に追われる「 …

別ページのカスタムフィールドの値を取りたいときー

トップページにカスタムフィールドの値を出したい時ってありますよね? そんな時は固 …

ページネーションがおかしいぞ?

とあるサイトで、ページ送りがおかしくなっていました。 具体的に言うと、本来6ペー …

外部画像URLもアイキャッチに「Featured Image From URL」

外部画像URLをアイキャッチに出来るプラグインを発見したのでご紹介。 Featu …

嫁の人用:WordPressで記事を取得、ループしたいときに-その1

WordPressの制御部分の基本です。 主にメインループの事を描かせていただき …

WordPressでよく使う新着記事表示のコード

ほんとによく使うので覚え書き。 ちなみにマルチサイトをまたがって新着を取得する場 …

WordPressでよく使うコードまとめ

完全に自分用です。 View the code on Gist.  

WordPress HTTPSでリダイレクト

毎度おなじみ自分用の忘備録でございます。 まず前提条件として、「WordPres …