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

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

  関連記事

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

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

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

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

ページ転送したい時に「Redirection」!

ワードプレスの記事で、「別ページに即座に飛んで欲しい」とか、「このページ見せたく …

ショートコードの出力結果が固定ページや投稿の上部に表示される

またもやWordPress覚書。もはやメモ帳代わり。 固定ページなどの途中でPH …

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

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

マルチサイト化でよくあること・・・参加サイトに表示されない!

WordPressでマルチサイト化すると、左上の「参加サイト」にマウスオーバーし …

Lightbox系プラグイン「Easy FancyBox」

特に意識すること無くLightbox(ふわっと写真を別ウィンドウで表示する)を使 …

子カテゴリに親カテゴリのテンプレートを引き継がせる

WordPressって基本的に親カテゴリを指定すると、それにぶら下がっている子カ …

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

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

カスタムフィールドの出力(テンプレート作成)について

表題の通り覚え書き。 テンプレートを作る。page.phpなどを元にしてテンプレ …