functions.phpの編集時に気を付けること!

こんにちは!

自分でWordPressを使用してサイトを構築し、色々カスタマイズするためには、「functions.php」の編集が不可欠です。「functions.php」を自在に使えるようになると、本当にWordPressで出来ることの幅が広がります。

ただ「functions.php」は、サイトを表示する時や管理画面を表示する時に読み込まれる大事なファイルなので、コードの記述ミスなどがあると画面が表示されなくなる危険性があります。

今回はそんな危険性を少しでも減らすために、「functions.php」の編集時に気を付けるべきことを記事にしたいと思います。「functions.php」を編集できるようになって、WordPressの初心者から中級者へステップアップしましょう。

「functions.php」とは?

「functions.php」とは、「WordPress Codex 日本語版」で確認すると以下のように記述されています。

テーマでは、オプションとして、テーマのサブディレクトリ内に functions.php というファイル名で「関数ファイル」を置くことができます。このファイルは基本的にプラグインのような動作をし、現在使っているテーマ内に存在していれば、自動的に WordPress の初期化中に読み込まれます (管理パネルとサイト表示の両方で)。

WordPress のデフォルトテーマには、functions.php ファイルが入っており、これら機能の多くを定義しているので見本にするといいでしょう。functions.php は基本的にプラグインのように動作するので、このファイルでできることの情報は、プラグインの作成リストを見るのが一番です。

関数を functions.php に定義するのか、プラグインに定義するのか、に関して: 同じ関数が1つ以上のテーマで使用可能であることが必要な場合、その関数はfunctions.phpではなく、プラグイン内にて定義する方がいいでしょう。テンプレートタグやその他の個別に定義した関数もプラグイン内にて定義する対象となるでしょう。プラグイン内で定義された関数は全てのテーマで使うことができます。

引用元:WordPress Codex 日本語版

何かよく分かりませんが、簡単に言うと関数ファイルの集まりで、新しく追加したい機能などがあれば「functions.php」に都度、付け足していってくださいということです。

サイトの表示時や管理画面の表示時に読み込まれるファイルなので、編集時には最新の注意が必要です。特別なファイルであるとの認識で問題ないと思います。

編集時の注意点!

「functions.php」の編集時の注意点になります。以下の内容を注意するだけで、「functions.php」のトラブルをかなり減らすことができます。

必ずバックアップ!

当たり前のことですが、「functions.php」を編集する時は必ずファイルをバックアップしておいてください。バックアップファイルがあれば、コードのミスで画面が表示されなくなっても、バックアップファイルで元に戻せます。

ファイルのバックアップは最も簡単にできる、最も大事な注意点ですので必ず行ってください。最悪、自分が今まで頑張って運営してきたサイトが元に戻せなくなります。

単純なコードの記述ミス!

単純なコードミスはよく起こります。「」や「{}」の閉じ忘れや、「;」と「:」の記述ミスなど、どんなベテランでもミスをする時はミスをします。

「functions.php」にコードを追加し、ファイルをアップする前に必ずチェックしましょう。

余計な空白や改行に注意する!

「functions.php」に余計な空白や改行を入れると画面が表示されない原因になります。ファイルを見やすくしようとして、改行を入れてエラーになるケースがありますので、ご注意ください。

↓「function」の「abc」と「def」の間に余計な改行が入っています。エラーの原因になりますので削除してください。

<?php function abc() {
テスト
}?>

<?php function def() {
テスト
}?>

↓「function」の「abc」と「def」の間に空白を入れる場合は、「」で全てを囲ってしまえば問題ありません。

<?php function abc() {
テスト
}

function def() {
テスト
}?>

プラグインに注意!

WordPressに色々な機能を提供してくれる便利なプラグインですが、このプラグインが原因で画面が表示されなくなる時もあります。

私はプラグインの専門家ではありませんので、詳しくは分からないですが、違うプラグイン同士が同じ関数を呼び出そうとするとエラーとなり画面が真っ白になるケースがあるようです(私はまだその経験をしたことはありません)。

解決策としては、FTPソフトでサーバーに接続し、「/public_html/WordPressインストールフォルダ/wp-content/plugins」の中にあるエラーを起こしているプラグインを削除してください。これで画面が表示されるようになるはずです。

↓当サイトでは以下のようなフォルダ構成になっています。

ファイルの文字コードに注意!

ファイルの文字コードが原因で画面が表示されなくなることもあります。ファイルは必ず「UTF-8N」で保存してください。知らないうちに「Shift_jis」に変わっていることもあるかもしれませんので、ご注意ください。

↓「TeraPad」でファイルの文字コードを変更する方法は、「ファイル」⇒「文字/改行コード指定保存」をクリックしてください。

↓「文字/改行コード指定保存」の画面が表示されますので、「文字コード」を「UTF-8N」に変更し、最後に「OK」をクリックしてください。

ロリポップなら「WAF設定」に注意!

サーバーにロリポップを使用していて、WordPressの管理画面上で「functions.php」を更新すると「403エラー」が出て変更できないケースがあります。原因としては「WAF設定」を「有効」にしていたからです。

去年、ロリポップがブルートフォースアタックを受けてから、セキュリティ対策のために「WAF設定」のデフォルトが「有効」になっています。「functions.php」を編集したい場合は、「無効にする」に変更してください。

最後に!

色々と注意点がありましたが、やはり一番大事なのは編集前にバックアップを取ることです。バックアップファイルさえあれば、元に戻すことができますので、「functions.php」を編集する時には必ずバックアップを取るとルールとして決めておいたほうが良いと思います。

以上「functions.phpの編集時に気を付けること!」でした!

それではまた。

コメント