functions.phpは気軽に編集しないように!
WordPressのトラブルでベスト3に入るのが「functions.phpを編集したら画面が真っ白になった!」です。当サイトでも同じことを何度も書いていますが、functions.phpは気軽に編集してはダメな危険なファイルです。特に「このコードをfunctions.phpにコピペ」という甘いフレーズには注意して、テキストエディタを使って編集してください。「テーマの編集」から編集すると痛い目に会いますよ。
以下、functions.phpの役割から編集方法までを簡単にまとめます。
functions.phpとは
functions.phpはサイトの機能を決める
functions.phpとは、現在のサイトで使用可能な機能を定義するファイルです。テーマに含まれるファイルで、ヘッダー画像、カスタムメニュー、サイドバーなどを使うかどうかを指定します。
1文字間違えると画面が真っ白に
functions.phpはファイル全体がプログラムになっています。そのため、入力内容に問題があるとエラーメッセージが表示されたり、最悪の場合、画面が真っ白(HTTP 500エラー)になります。
画面が真っ白になると、ブラウザからWordPressのダッシュボードを表示できなくなるため、FTPソフトやレンタルサーバーのFTPツールを使って対処する必要があります。
画面が真っ白になったときの対処方法は以下のページも参考にしてください。
functions.phpの変更後にエラーで画面が真っ白になったとき
「このコードをfunctions.phpにコピー」は特に要注意
インターネットでWordPressのカスタマイズ方法を調べていると「このコードをfunctions.phpにコピペしてください」と書かれていることが少なくありませんが、絶対に気軽にコピペしてはいけません。
うまくいくか画面が真っ白になるか、一発勝負です。実際、functions.phpにコードをコピペして画面が真っ白になったというトラブル相談は非常に多いです。ご注意ください。
コピペするかどうかは自由ですが、少なくともFTPソフトとテキストエディタを準備して画面が真っ白になっても大丈夫な体制を整えてから作業すべきです。
functions.phpの場所
functions.phpはテーマフォルダにある
functions.phpはいくつかの場所に存在しますが、カスタマイズに使うfunctions.phpは一般的にテーマフォルダ(wp-content/themes)に存在するものを指します。たとえば、「wp-content/themes/biz-vektor/functions.php」のようなパスになります。
本格的なカスタマイズには子テーマのfunctions.phpを使う
ただし、本格的なカスタマイズには子テーマのfunctions.phpを使うのが一般的です。つまり、子テーマフォルダ内のfunctions.phpです。親テーマのfunctions.phpを修正しても構いませんが、テーマのアップデートと共にカスタマイズ内容は消えてしまうので、あまりおすすめできません。
wp-includesフォルダのfunctions.phpに注意
wp-includesフォルダにもfunctions.phpがありますが絶対に編集禁止です。これはシステムファイルなので、WordPressのアップデート時に上書きされます。注意してください。
functions.phpの編集方法
「外観」-「テーマの編集」からの編集は厳禁
手軽だからといって「外観」-「テーマの編集」からfunctions.phpを開いて変更するのは絶対に止めましょう。1文字でも入力を間違えると画面が真っ白になります。何度も同じことを書いていますが本当に注意してください。
Windowsのメモ帳もダメ
functions.phpはダウンロードしてエディタで開いて編集して、サーバーにアップロード(上書き)することになりますが、Windowsのメモ帳は編集に適さないので注意してください。アップロード後、文字化けやエラーメッセージが表示される原因になります。
詳しくは、以下のページも参考にしてください。
functions.phpはテキストエディタで編集する
ダウンロードしたfunctions.phpは「テキストエディタ」とよばれるソフトウェアで編集しましょう。たとえば、秀丸エディタ、サクラエディタ、Terapadなどです。また、functions.phpをダウンロードするにはFFFTPなどのFTPソフトを使う必要があります。
さまざまなWordPressカスタマイズにチャレンジしていく予定の方は、FTPソフトとエディタをインストールしておきましょう。
以下、エックスサーバーを例にFTPソフト(FFFTP)の設定を紹介しています。参考にしてください。