WordPress のテーマを構築した際、一見うまく動いていてもデバッグモードを有効にするとエラーが出ているという場合もあります。今回はそんなエラーの対処方法のメモです。
WordPressのデバックモードを有効にする
まずは、wp-config.php を開いてソースの下記部分(80行目付近)を
define(‘WP_DEBUG’, false);
↓に変更して保存。
define(‘WP_DEBUG’, true);
テストは、アップする前にローカルの環境で、テスト終了後は元に戻して下さい。
表示されるエラー
Notice: Use of undefined constant
例えば、query_posts で引数を指定する際、引用符の指定が抜けていると出ます。
× ‘post_type’ => post
○ ‘post_type’ => ‘post’
Notice: Undefined offset
存在しない配列を呼び出していると出ます。
<?php $week = array('1', '2', '3', '4', '5'); echo $week[5]; ?>
配列は 0 から始まるので「5」を表示させたい場合は $week[4] です。
Notice: Undefined variable
未定義の変数を使ってると出ます。
<?php if ( $namae == "" ){ echo '名前が見つかりません'; } ?>
この場合、変数を初期化してから使うとエラーは消えます。
<?php $namae = NULL; if ( $namae == "" ){ echo '名前が見つかりません'; } ?>
PHPの非推奨タグを置き換える
例えば ereg_replace() は、PHP 5.3.0 で 非推奨となっています。
それより新しいPHPを使っていると Deprecated: Function ereg_replace() と表示されます。
WordPressの非推奨タグを置き換える
例えば is_taxonomy() はバージョン 3.0 から非推奨になっています
それより新しいWPで使っていると Notice: is_taxonomy と表示されます。
以上
WordPressがデフォルトの状態では、エラーは見えないので気付き難いですが、テーマの構築時にはチェックをしないといけませんね。