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で記事ごとに簡単リダイレクト「Page Links To」WordPressの記事を別ページに置き換えたくなるときってありませんか? たと … 
-  
              
- 
      WordPressの検索欄が未入力で全件表示してしまう件間違えて空欄で検索した時に全件表示・・・。 バグでもエラーでもないんですがなんか … 
-  
              
- 
      WP_Queryの使い方WP_Queryの使い方はちょくちょく忘れますので忘備録。 WP_Queryの使 … 
-  
              
- 
      サムネイルをいちいち入れるのめんどくさい人に Default Thumbnail Plusめんどくさがりやーな「だいすけ」です。 こんにちは。 WordPressのサムネ … 
-  
              
- 
      カスタムフィールドの画像をアイキャッチに自動登録毎度おなじみ自分への忘備録です。 投稿時にカスタムフィールドの画像 … 
-  
              
- 
      月別アーカイブページでカテゴリ指定月別アーカイブページでカテゴリ指定したい・・・ でも、query_postsやW … 
-  
              
- 
      アーカイブページでタームごとに記事一覧を出力するカスタム投稿の記事一覧を出したい ターム名1(カスタム投稿の「カテゴリ名」のよう … 
-  
              
- 
      WordPressで記事のカルーセルスライダー(jQuery的なスライドショー)WordPressがそれなりにいじれると分かってから、嫁様の私への”こき使いっぷ … 
-  
              
- 
      WordPressで記事を取得、ループしたいときに-その2WordPressで記事を取得したいんだけど・・・ WordPressで記事を取 … 
-  
              
- 
      WordPressでプラグイン無しサイトマップ【WordPress】プラグイン無しでサイトマップを追加する方法。 コードのみで … 

