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

沖縄/大阪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 不正アクセスとの飽くなき戦い

不正アクセス・・・それはWEB黎明期から行われてきた悪しき犯罪。 これらと日々戦 …

「パスワードは、記号を含むか、20 文字以上でなければなりません。」で苦しんだ話

ワードプレスのユーザーを追加する際、パスワードを設定するんですが、ここでつまづい …

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

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

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

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

WordPressで勝手に画像リサイズされる

いつもの防備録です。   本当に間抜けな話なんですが、これってほぼ間違 …

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

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

タクソノミー(ターム)の記事一覧を出したい!

あれ?archive.phpで表示してる・・・? WordPressでカスタムタ …

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

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

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

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

WEBサイトのスクリーンショットをサムネイル化する

弊社の制作実績を登録していこうと思ったのですが、直近のものだけでも軽く30を超え …