• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

株式会社ハイファイブクリエイト

  • SERVICE
  • ABOUT
  • WORKS
  • BLOG
  • NEWS
  • CONTACT
ホーム / ブログ / TIPS / PHP7.4から8.0以上に更新するとWordPressのループ箇所が表示されなくなってしまう原因と解決策

PHP7.4から8.0以上に更新するとWordPressのループ箇所が表示されなくなってしまう原因と解決策

池田祐太郎 | 2024年1月16日 公開 コメントを書く

PHP7.4のセキュリティリリースが終了してもう1年以上経っています。本来ならば8.1以上を利用するのが望ましいのですが、なかなかPHPの更新まで手が回らないでいるというサイトも少なく有りません。

今回はPHP7.4までは問題なかったものの、8.0以上に更新した際にWordPressのループ箇所から以降が一切表示されず、エラーメッセージも表示されなくなってしまった場合の原因と解決策についてです。

なお、PHPの更新作業はバックアップを作成した上で、本番環境ではないテスト環境や開発環境で実施し、確認後に本番環境で実施することを推奨します。

目次

  • 1. PHP 8.0に更新するとループ以降が一切表示されないエラーが発生
  • 2. PHP 7.4に戻し、デバッグモードを有効化して確認する
  • 3. 波括弧を使った配列や文字列のオフセットへのアクセスは7.4から非推奨となった
  • 4. PHPの更新は定期的に行うのが安全

PHP 8.0に更新するとループ以降が一切表示されないエラーが発生

WordPress のループによってお知らせ的なコンテンツを表示していた箇所がありました。イメージとしては以下です。

ループ箇所のイメージ図。

最新順に記事が並んでいるよくあるようなループです。

PHP を8.0に更新したところ、今まで表示されていたWordPressのループ箇所とループ以降のコンテンツが表示されなくなってしまうエラーが発生しました。

PHP8.0へ更新後のイメージ図。

さらに、デバッグモードを有効化しているにも関わらず、エラーメッセージが画面にもログにも表示されていませんでした。

PHP 7.4に戻し、デバッグモードを有効化して確認する

ループが表示される以前のPHP 7.4に戻します。この状態で、WordPress のデバッグモードを有効化して確認します。(wp-config.php 内のWP_DEBUGをtrueに設定)

参考: テスト環境や開発環境を用意したら有効化しておきたいデバッグモード

確認すると、警告エラーのメッセージが表示されました。さらに、将来のPHPでエラーとなるとも書いてあります。

Warning: Use of undefined constant data_category - assumed 'data_category' (this will throw an Error in a future version of PHP) in /path-to-wordpress/wp-content/themes/name/archive.php on line 60

このエラーメッセージは、PHPコードにおいて定義されていない定数 data_category がコード内で使用されているものの、適切に定義されていないことを示しています。

場所はarchive.php ファイルの60行目です。該当ファイルを見てみましょう。

波括弧を使った配列や文字列のオフセットへのアクセスは7.4から非推奨となった

該当ファイルのコード内で ${data_category} という記述が使われていました。この記述はPHP 7.4以降非推奨になったと公式に記載があります。

波括弧を使って配列や文字列のオフセットにアクセスする文法は推奨されません。$var{$idx} でなはく $var[$idx] を使って下さい。

PHP: PHP 7.4.x で推奨されなくなる機能 – Manual

よって、ファイル内の波括弧である { と } を削除します。 ${data_category} から $data_category に変更します。これにより無事解決。エラーメッセージは消え、WordPressのループや以降のコンテンツも正しく表示されました。

PHPの更新は定期的に行うのが安全

ちなみに、8.0のリリースノートにはこの件について書かれているか確認してみましたが、見つけることはできませんでした。8.0に更新すると非表示になるということは、7.4で非推奨、8.0で完全に削除された、と考えていいと思います。

今日現在、安全に利用できるPHPのバージョンは8.1以降です。8.1も2024年11月にセキュリティサポートが終了予定なので、できれば8.2以降を利用するのが安全です。

8.1は現在セキュリティサポート状態。安全のためには8.2か8.3を利用したいところ。

PHP: Supported Versions

しかし、レンタルサーバーによっては最新のPHPが8.1というところもあります。その場合はレンタルサーバー側で利用できるようになってから更新しましょう。

冒頭でも書きましたが、PHPの更新は必ずテスト環境で実施しましょう。今回のようにエラーが発生したら対応してから、本番環境に対応したファイルを反映してPHPを更新します。これにより、安全な更新作業となります。

参考: WordPressのテストサイト・検証用環境の作り方

外部IT部門サービス

カテゴリTIPS 関連タグ:php, 保守管理

池田祐太郎

IT担当を置けない中小企業の「外部IT部門」として、業務システムの設計・開発・運用を一貫して手掛けています。2016年から業務システム設計・運用を開始し、長期で仕組みを育て続ける進め方を強みとしています。2012年創業。WordPressの保守も10年以上継続しています。 プロフィール詳細

Reader Interactions

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

この記事と関連する記事

wp-config.phpの中身が消えた原因はセキュリティプラグインだった
2026年10月5日
タグ: 保守管理
カテゴリー: WordPress
WordPressが急に遅くなった!保守会社の自社サイトで起きた障害対応を包み隠さず公開します
2026年8月7日
タグ: Webサイト高速化, 保守管理
カテゴリー: WordPress
WordPressのプラグイン自動更新のロールバック機能が正しく動くのか確認してみた
2024年8月7日
タグ: 保守管理
カテゴリー: WordPress

最初のサイドバー

外部IT部門

Search

最近の投稿

  • 自社ドメインのなりすましメールが対策済みかログインなしで調べる方法
  • wp-config.phpの中身が消えた原因はセキュリティプラグインだった
  • 共用サーバーでOPcacheは効くのか?ベンチマークでは87.8%短縮、実サイトでは2.4倍遅くなった実測記録
  • WordPressが急に遅くなった!保守会社の自社サイトで起きた障害対応を包み隠さず公開します
  • IT外注の費用はどう決まる?金額を比べる前に「範囲」を揃えるべき理由

カテゴリー

  • CSS初心者
  • HTML初心者
  • TIPS
  • WooCommerce
  • WordPress
  • エステサロン
  • お知らせ
  • キュレーション
  • サイトマップ
  • システム会社
  • デベロッパーツール入門
  • ブログ
  • ホームページ制作
  • ホームページ制作無料講座
  • メール
  • モバイル
  • 仕事のこと
  • 制作実績
  • 外部IT部門
  • 整体院
  • 美容院
  • 雑感

タグ

ai Android ChatGPT CMS css DALL-E elementor gmail google workspace Gutenberg HTML iPhone jQuery Mac Photoshop php SEO SNS ssh SSL Webサイト高速化 Windows WordPress WordPressカスタマイズ WordPressテーマ WordPress構築調査 WPRocket アクセス解析 クラウドソーシング サイト引っ越し サブスクリプション サーバー ショートカットキー スマホサイト スマートフォン セキュリティ ツール ブログ プラグイン マーケティング リニューアル レスポンシブWebデザイン 保守管理 最適化 集客するサイト構築

アーカイブ

CONTACT

お問い合わせはこちら

Footer

  • PRIVACY POLICY
  • 情報セキュリティ基本方針
  • 特定商取引法に基づく表示
  • 転載/引用

© 2026 high five create All rights reserved.