エンジニアチームでは開発中や公開後に発生したトラブルなどをWikiにまとめてチームで共有しています。今回はWordPressに関することをいくつかをピックアップして紹介します。原因と対処法さえわかっていればトラブルも大したことはないので参考にしてください。
エラーが発生している可能性があるので、デバッグモードを有効にしてエラー情報を画面に表示して確認します。エラー情報を見れば多くの場合は原因を特定できます。
よくあるのは以下のような原因です。
「wp-config.php」の「WP_DEBUG」の指定を「true」にします。確認が終わったら「false」に戻しておきましょう。
define( 'WP_DEBUG', true );
追加したプラグインでエラーが発生している可能性があるので、プラグインを削除して画面が表示されるか確認します。もしプラグインが原因であれば、別のプラグインに変更するなどして対応します。プラグインの組み合わせによってもトラブルが発生する場合があります。
PHP(php.ini)の以下の設定を変更して、ファイルをアップロードできる最大値を変更します。使用しているサーバーによってはサーバーの管理画面から設定を変更できる場合もあります。公開前にどのぐらいのファイルをアップロードする想定か顧客に確認しておき、事前に設定しておきます。
upload_max_filesize = 50M
post_max_size = 50M
memory_limit = 256M
WordPressでアクセスするページのディレクトリが物理的に存在している可能性があります。必要なければディレクトリを削除か、どうしても必要な場合はディレクトリにWordPressのインストールディレクトリにある「index,php」を該当ディレクトリ配下にコピーして設置します。
※「index,php」の以下のパスは設置するディレクトリにあわせて変更します。
require __DIR__ . '/wp-blog-header.php';
プラグインの「Rewrite Rules Inspector」で、URLに対してどんなリライトルールが適用されているか確認します。想定しているものと異なるルールが適用されていた場合、「add_rewrite_rule」で強制的にリライトルールを適用させます。
function add_custom_rewrite_rules() {
add_rewrite_rule('(news)/(.+?)/?$', 'index.php?post_type=$matches[1]&news_type=$matches[2]', 'top');
}
add_action('init', 'add_custom_rewrite_rules');
WordPressのログイン情報は非常に重要なのでしっかり管理しておくべきですが、どうしてもログインできなくなってしまった場合は以下の方法でログインできるようにします。
WordPressに限りませんが、問題が発生したらまずはエラーログを確認して、それでも解決できない場合は、正常だった時とエラーが発生するまでの間におこったこと(ファイルの更新やバージョンアップなど)を確認することでたいていは原因の特定ができます。
トラブルは原因と対処方法がわかっていれば大したことはないですが、逆に知らないと調査などにかなりの工数を割かれてしまいます。そのためにもトラブルが発生して、その対処をしたら、その内容をチームで共有しておき、チーム全体として次回以降に他の人が不要な工数をかけてしまわないようにしましょう。
ベイジでは今後もエンジニアを増員していきますので、ご興味がある方は採用サイトもご覧ください。(エントリーするか迷っている方向けのカジュアル面談も実施してます)