WordPress PHP8系にアップデート後、管理画面のレイアウトが崩れた(CSSが読めていない)改善方法

WordPressのブログにて、サーバのPHPバージョンを8系にアップしたあと、管理画面のレイアウト崩れが発生した。症状としては、CSSが読めていない感じ。

行った改善対処法はこちら

色々と調べたところ、wp-config.phpに以下の行を追加したところ、解消した。

define( 'SCRIPT_DEBUG', true );

SCRIPT_DEBUG は WordPress が wp-includes/js 、 wp-includes/css 、 wp-admin/js および、 wp-admin/css のスクリプトとスタイルシートの「開発」バージョンを強制的に読み込みます。これは、 .min.css と .min.js バージョンの代わりに読み込まれます。 WordPress の組み込み JavaScript またはカスケーディングスタイルシート (CSS) の一部を変更する場合は、次のコードを構成ファイルに追加する必要があります。

https://ja.wordpress.org/support/article/editing-wp-config-php/

とあるので、圧縮されていないCSSを読み込むため、レイアウト崩れの解消が期待できる設定になる。

なお、JSの連結を無効にする設定はこちら

define( 'CONCATENATE_SCRIPTS', false );

管理画面を高速化するために、全ての JavaScript ファイルが 1 つの URL に連結されます。管理画面で JavaScript が機能しない場合は、この機能を無効にしてみてください。

https://ja.wordpress.org/support/article/editing-wp-config-php/

これが正解の改善対処法(な気がする)

この記事を書くために、調べていたら見つけた情報として、

.htaccessに下の2行を先頭に貼り付けると解消するとの情報も見つけた。

PHP_value default_charset none
PHP_value output_handler none

PHPで日本語などのマルチバイト文字を扱う際、文字コードを適切に設定しないと文字化けなどのトラブルの原因になります。
PHP 5.6.0 以降は “UTF-8” がデフォルトになり、htmlentities() や html_entity_decode() そして htmlspecialchars() で encoding パラメータを省略した場合は、このデフォルト値を利用する仕様に変更になっています。

これらの原因により、文字コードを適切に設定していないとPHPプログラムが正常に終了しないため、文字化けやレイアウト崩れが発生します。

対策といたしまして、下記内容を記述した .htaccess ファイルを該当のディレクトリに設置することで回避可能です。

https://support.kagoya.jp/kir/faq/index.php?action=artikel&cat=14&id=362&artlang=ja

こっちが改善対処法の正解な気がする。もし、次に同じトラブルに出会ったら、このコードを試そうと思う。

参考記事