WordPress の functions.phpについて

functions.phpと聞いて「あっ、あれね」っと思われた方は良いのですが、「??なにそれ?」となる人も居られると思うので、functions.phpについて少し説明を。
詳しくはWordPressのちゃんとした文献を読んで欲しいのですが、そうするといきなりハードルが高くなる(私も読んでるとウーン?となったりする)ので大まかな説明に留めます。

functions.phpとは

functions.phpは、WordPressのカスタマイズが行いやすいようにWordPressに設けられたファイルで、PHPで記述され、各PHP関数やWordPress組み込みの関数を呼び出したり、独自の関数を定義することに利用します。

WordPressのテーマに必須のファイルの1つです。

全てのテーマや記事の前に処理されるので、テーマや記事の初期化ができます。この初期化をする時にショートコードと言う形式で登録しておき、記事からショートコード呼び出しだすことで、記事にPHPコードで処理した内容を表示できるようになります。

このショートコード呼び出しをもう少し詳しく知りたい場合は「WordPress フック」や「WordPress アクションフック」、「WordPress プラグインAPI」などで検索して学習してください。

今回の WordPress PHP入門では、WordPressでPHPを使ってプログラミングが出来るようになることを目標にするので、WordPress周りの仕組みについては割愛します。

functions.phpはどこにあるの?

functions.phpは上にも書いた通り、WordPressのテーマに必須のファイルですので、現在使っているテーマの中に有ります。

私のテーマはTwentyElevenですが、子テーマを使っているため、子テーマの中のfunctions.phpにショートコード形式でPHPコードを設定しています。

もし、この記事を読んでいて子テーマを使っていない人が居るなら、子テーマを使うことを強くお勧めします。子テーマを使わないとテーマの更新が有った時に、せっかくショートコードとして登録したPHPコードがテーマの更新によって上書きされ、消えてしまうのでもう一度ショートコードを設定する必要が出てくるので、とても面倒です。

私も古い記事ですし、Twenty Eleven と古いテーマですが、子テーマを記事にしていますので良ければ参考にしてください。
WordPress Twenty Eleven の子テーマ の作り方
WordPress Twenty Seventeen の子テーマの作り方

脱線してしまいましたが、ファイルはテーマの中に有ります。
レンタルサーバに付いてくるファイルマネージャーなどのレンタルサーバのファイルやディレクトリを見ることができるツールを使って「サイトのroot>wp-content>themes>使用しているテーマまたは子テーマ>functions.php」確認するか、「ダッシュボード>外観>テーマエディター」からfunctions.phpを確認します。

functions.phpを使う時の注意

functions.php はとても重要なファイルのですので、PHPコードを書く際に些細なミスを起こすと、WordPress が真っ白表示されたりします。

ですから、ファイルのバックアップを常に取るように心がけてください。真っ白表示されて、すぐに原因が分からないことも多々あります。その場合は、速やかにバックアップを戻せるようにしておきましょう。

ちなみに、WordPressが真っ白表示で表示されると管理画面にも簡単に行けません。なのでファイルマネージャーなどでバックアップを戻すことが必要になりますので、いざとなって慌て無いようにするためにログイン名やパスワード、使用方法などを事前に確認しておきましょう。

functions.php で良くあるエラー

慣れてくると良く起こすミス
・構文ミス(関数のつづりを確認しましょう)
・無駄な空白、空行を入れてしまい構文ミスに繋がる

初めての時に良く起こすミス
・「UTF-8、BOMなし」以外のファイル形式保存してしまう

functions.php を怖がる必要はありません

functions.php はちょっとしたミスで WordPress を真っ白表示にしてしまいますが、それだけ強力な機能を持ったファイルと言えます。常にファイルのバックアップとリストア(戻す)用意が出来ていれば怖がる必要はありません。
多くの経験を積めばそれだけ落ち着いて作業も出来るようになりますからね。

以上、「WordPress の functions.phpについて」簡単に説明をしました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください