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

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

  関連記事

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

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

category.php内で現在のカテゴリを取得する

カテゴリの取得でハマったので忘備録しておきます。 いつもはget_the_cat …

【ご注意】WordPressの不正コード改ざん

WordPressを狙った不正コードによる下記動画のような改ざんが横行しているよ …

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

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

WordPressの指定日時での部分表示

久しぶりにWordPressで少しハマったので忘備録です。 サイトの一部分だけ指 …

Sydneyで正方形のアイキャッチ画像を使いたかった話

通常、WordPressでアイキャッチ画像を設定すると、そのサイズでアイキャッチ …

プラグイン無しで外部サイトのRSSを表示するRSSリーダー的なもの

外部RSS(ブログの新着記事)を読み込む案件があったので「プラグインでええよなー …

新着情報などでAll-in-One Event Calendarのカテゴリ名を表示する方法

ハマりました。 ドハマリしました。侮ってました。 「カテゴリ出力するだけでしょ。 …

マルチサイトで複数のブログの新着情報を取得したい

WordPressでマルチサイトの新着情報を取りたいなーと思うことがあったのでメ …

Instant WordPress入れてみる

Instant WordPressという、ネット上のサーバーではなくローカルPC …