WordPress

【WordPress(ワードプレス)】「このサイトで重大なエラーが発生しました」の対処方法|デバッグ方法

 

こんにちは、イケゾーです。

ワードプレスを触っていると、突然真っ白な画面になることがあります。

 

イケゾー
最初みたときは、終わったとおもたよ

原因はPHPの記述ミスであることがほとんどですが、「なかなか原因がわからない(>.<)」とお手上げの時もありますよね。

「エラー対処の能力こそが、エンジニアの実力」とも言われるくらいエラー対処能力は大切です。そこで今回は、エンジニアが使っているデバッグ方法について解説します。デバッグ効率が格段に上がりますよ!

 

この記事はこんな人におすすめ!

  • WordPresで、「このサイトで重大なエラーが発生しました」が出て困っている
  • WordPressのデバッグ方法が知りたい

 

 

ワードプレスおすすめ参考書
【WordPress(ワードプレス)初心者におすすめ本】「仕事の現場でサッと使える! デザイン教科書」のレビュー

続きを見る

当ブログでは、WordPressテーマ 「WING(AFFINGER5)」 を使用しています。

 

【WordPress(ワードプレス)】「このサイトで重大なエラーが発生しました」の対処方法|デバッグ方法

今回は、エンジニアが使っているデバッグ方法で正確に早くデバッグをする方法を解説します。この記事では方法を2つご紹介します。ご自身の使いやすい方法や、状況に応じて使い分けてください。

 

WordPress(ワードプレス)のデバッグモードを使う

WordPressのデバッグモードを使用すると、エラー内容を表示させることができます。

 

wp-config.phpを編集

「wp-cofig.php」の設定をひとつ書き換えるだけです。

define('WP_DEBUG', false); → define('WP_DEBUG', true);に書き換えます。

 

/**
 * 開発者へ: WordPress デバッグモード
 *
 * この値を true にすると、開発中に注意 (notice) を表示します。
 * テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。
 *
 * その他のデバッグに利用できる定数についてはドキュメンテーションをご覧ください。
 *
 * @link https://ja.wordpress.org/support/article/debugging-in-wordpress/
 */
define( 'WP_DEBUG', false);

/* 編集が必要なのはここまでです ! WordPress でのパブリッシングをお楽しみください。 */

 

下記のように書き換えます。

define( 'WP_DEBUG', true);

 

 

では、確認のためにわざとエラーを発生させてみます。

PHPのお決まりの<?php wp_head();  ?> の記述を<?php wp_header();  ?> と間違って記述してしまったとします。
すると、下記のようにエラー内容と場所が表示されました、これでデバッグも早く正確にできますね。

 

 

ワードプレスおすすめ参考書
【WordPress(ワードプレス)初心者におすすめ本】「仕事の現場でサッと使える! デザイン教科書」のレビュー

続きを見る

 

var_dump()でデータの中身を確認する

var_dump() は変数の型や値を表示させるPHPの関数です。

思い通りに変数を設定できているか確認するために、使い方を覚えましょう。同じような機能をechoでも実現できますが、var_dump()の方が表示出来る範囲が広いのでこちらを使用しましょう。

 

例をあげます。プラグイン「Advanced Custom Fields」で設定したフィールドキーから管理画面で設定した画像のIDを取得し、そのIDから画像を表示するといった場合、下記のような記述になります。

$image_id = get_field('image');
echo wp_get_attachment_image( $image_id);

 

 

ここで画像がうまく表示されない場合、切り分けて原因を追求しましょう。
$image_idの中身をvar_dump()で表示させます。

$image_id = get_field('image');
var_dump( $image_id );
echo wp_get_attachment_image( $image_id);

 

この状態で該当ページを表示して、「null」と表示されれば、データが無いことがわかります。
データがあるのに画像が表示されない場合は、関数の記述ミスの可能性がありますので、そちらに注目してデバッグしてみましょう。

 

 

ワードプレスおすすめ参考書
【WordPress(ワードプレス)初心者におすすめ本】「仕事の現場でサッと使える! デザイン教科書」のレビュー

続きを見る

 

まとめ

以上で2つのデバッグ方法を紹介してきました。開発をする上ではデバッグ技術は必須なものです。しっかり身につけて、エラーに強いエンジニアを目指しましょう。

 

 

イケゾー
最後まで読んでいただき、ありがとうございました。
ご不明点やご意見は、コメントやTwitterにて、お寄せください 🙂
では、またお会いしましょう

  • この記事を書いた人

ikezooo

愛知県30歳のフリーランスエンジニア。 サイト制作とブログで生き抜く。 ブログでは、月10〜15万ほど稼いでいます。 SEO検定3級保有。

-WordPress