WordPressのfunctions.phpとは何?失敗しない設定方法も!




WordPressをカスタマイズしようとしたときにfunctions.phpの編集をする場面は多いですよね。

よくわからないままWordPressのfunctions.phpを編集したらWordPressがエラーが表示され動かなくなったり、テーマをアップデートしたらfunctions.phpの設定がすべてなくなってしまった、なんていう時もあるかと思います。

そんな中で悩むことは、

・functions.phpの役割がわからない。
・functions.phpを安全に編集したいが方法がわからない。
・テーマをアップデートしてもfunctions.phpの追加設定を保持する方法がわからない。

ですね。

今回はそんなお悩みを解決する
WordPressのfunctions.phpとは何で失敗しない設定方法やエラーの対処方法などについて
まとめます!



WordPressのfunctions.phpとは何?

WordPressのfunctions.phpについて説明をします。

WordPressCodexでは以下の説明となっています。

WordPress のデフォルトの動作を変更する方法のひとつに functions.php という名前のファイルの利用があります。これはテーマのフォルダーに入れるものです。
この functions ファイルは WordPress プラグインのように振舞って、WordPress サイトへ特徴や機能を追加します。これを使って、PHP と WordPress 組み込みの両方の関数を呼び出したり、独自の関数を定義したりできます。そして、この WordPress テーマでの functions ファイル利用と、WordPress プラグインへのコード追加とは、同じ結果を出すことができる 2 つの方法です。

タカヒロ
タカヒロ
ちょっとわかりにくいですね。


functions.phpについてカンタンにまとめますと、

・functions.phpはPHPというプログラム言語で書かれたテキストファイル
・テーマ独自の機能を設定するファイル
・テーマの機能は関数という単位でまとまっていてそれを呼び出す
・functions.phpはプラグインではない

となります。

WordPressのfunctions.phpの格納場所は?

各テーマのwp-content/themesサブディレクトリに格納されます。




WordPressのfunctions.phpの取り扱いは要注意!

WordPressのfunctions.phpの取り扱いは要注意です。

上記で説明しましたとおり、テーマの機能をギュッと集約したファイルですので、PHPのプログラム言語の文法に合わない書き方や誤った処理を記載してしまうと、functions.phpを呼び出した段階でエラーとなり、Wordpressが動かなくなってしまうためです。



WordPressのfunctions.phpのバックアップ方法は?

実態はテキストファイルですので、FTP接続やリモートデスクトップ接続、WEBDAV接続によりサーバへアクセスし、functions.phpをダウンロードし、PCなどローカル環境へ保存します。

functions.phpは大黒柱のような存在ですので、かならずバックアップは取得するようにしましょう。

タカヒロ
タカヒロ
functions.phpのテキストをコピーし、新規で作成したテキストファイルへコピーする方法は改行コードが変わってしまう場合がありますのであまりおすすめしません。




WordPressのfunctions.phpの編集方法は?

functions.phpをメモ帳などテキストエディタで開いて編集する方法と、
WordPressの管理コンソールの「外観」>「テーマエディター」から編集する方法があります。



WordPressのfunctions.phpの安心、安全な編集方法は?

子テーマをインストールし、子テーマのfunction.phpを編集する

function.phpは編集し設定変更をしたとしても、テーマのアップデートがあった場合は上書きされクリアされてしまう場合が多々あります。そこで上書きされないためにも子テーマをインストールし、子テーマのfunction.phpを編集しましょう。だいたい各テーマの販売元で無料でダウンロードできます。

サンプルではcoustomと名前がついている方が子テーマとなります。

プラグインをインストールし、プラグイン側で設定内容を管理する(おすすめ)

プラグインをインストールし、直接function.phpを編集することなく、プラグイン側で設定内容を管理する方法となります。

Function.phpを一切触りませんので安全ですし、テーマのアップデートの影響もありません。

何よりうれしいのがエラーチェックをプラグイン側でしてくれるところですね。

誤った内容を記載したとしてもプラグイン側でブロックし、更新前の状態に戻してくれますので、WordPress本体の影響はまったくないです。

Code Snippets

有効インストール数: 500,000+と一番使われているスニペットになります。
最低限の機能だけ実装されているため非常に軽量ですし、リアルタイムに文法エラーチェックをしてくれるのがうれしいところですね。

タカヒロ
タカヒロ
使い方はこちらをご参照ください。


Code Snippetsの使い方!functions.phpを安全に管理できるプラグイン

Post Snippets

こちらも良く使われているスニペットとなります。日本語の説明サイトが結構多いので初心者にはよいでしょう。
ショートコードを記述しなくても設定でき。記事の編集画面からショートコードが選べる機能があり便利です。

検証環境を構築し、検証環境で試験する

公開しているWordPressを直接編集するとユーザ影響が即発生してしまいます。
機能追加や変更を行う場合は同じ構成のWordPressサイトを用意してそちらで確認を行うようにしましょう。
検証環境として新規構築する場合でも、現在契約しているレンタルサーバーでも複数作れるマルチサイトに対応している場合がありますので、確認してみましょう。

タカヒロ
タカヒロ
サブドメイン(***.exsample.com)を設定して検証環境に割り当てる方法がよく使われています。なお新規ドメイン取得は不要です。




WordPressのfunctions.phpを設定しても反映されない場合はどうすればよい?

PHP言語の文法や形式にあっていない

PHP言語の文法や形式にあっていない可能性があります。
機能単位でエラーを起こしている場合がほとんどですので、追加した部分を削除し、再実行してみましょう。

違うテーマのfunction.phpを編集してしまっている

違うテーマのfunction.phpを編集してしまっている可能性があります。該当するテーマのfunction.phpを編集しているか確認をしましょう。



WordPressのfunctions.phpを設定したら画面が真っ白になった場合はどうすればよい?

管理コンソール含むWordPress全体が機能不全になった場合は、FTPなどでサーバサイドへ接続し前バージョンのfunction.phpに差し替えをおこないます。

バックアップをし忘れてしまった方は使用しているテーマをダウンロードし、function.phpを取り出してください。その場合には完全に初期化されますのでご注意ください。



さいごに

いかがでしょうか。

今回は、
WordPressのfunctions.phpとは何で失敗しない設定方法やエラーの対処方法などについて
まとめました。

WordPressの重要な機能が凝縮しているfunctions.phpを変更する場合は十分注意したいですね。

また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。


Warning: Invalid argument supplied for foreach() in /home/takahiro14/kininariantenna.com/public_html/wp-content/plugins/code-snippets/php/snippet-ops.php(469) : eval()'d code on line 10

Warning: mt_rand(): max(-1) is smaller than min(0) in /home/takahiro14/kininariantenna.com/public_html/wp-content/plugins/code-snippets/php/snippet-ops.php(469) : eval()'d code on line 14