functions.php って何だろう…
「WordPressは functions.php を編集できたら、カスタマイズの幅が広がるらしい」
WordPress(ワードプレス)を使っていると、そんな話を耳にします。
functions.php とは WordPressテーマの中にあるファイルの1つで、PHPというプログラミング言語で記述されています。
PHP(ピー・エイチ・ピー)はプログラミング言語の1つ。WordPressの主要なファイル(コアソフトウェア)の大部分はPHPで書かれている。
PHPで記述…。それだけで難しそうですよね。
でも、functions.php にPHPコードを追加できるようなれば、たしかにカスタマイズの幅が広がって便利です。
そこで、本記事では functions.php を簡単に使える方法をわかりやすく解説していきます。
PHPを知らなくても大丈夫です
この記事を書いた人
当ブログの信頼性・成長記録(開く)
【2023年2月5日】
過去28日間でGoogle検索における当ブログへのクリック数が6K(6000)クリックに到達しました。
- functions.phpとは? ファイルの場所や編集方法、注意点
- functions.php のおすすめ編集方法とツール
function.phpではなく「functions.php」
functions.php は function.php というワードでGoogle検索されるケースが少なくないようです。
(ラッコキーワード調べ)
▼ラッコキーワードについて
どこがちがうの?
正しくは function.php ではなく、functionの語尾に s をつけて「functions.php」です。
ファイル名は複数形!
function(ファンクション)とは、プログラムが行う処理をまとめて入れておける箱のようなものです。「関数」とも呼ばれています。
たとえば、A、B、C、という処理があったとき、それぞれを個々のfunctionにすることもできますし、AとBとCをまとめて1つのfunctionに入れることも可能です。
PHPコードの中にfunction(関数)という書き方があるため、つい function.phpと書いてしまうのかもしれません。
functions.php には functionのコードを複数記すことができるので、複数形になっているわけですね。
functions.phpとは
functions.php とは、function(関数)やその他のコードが記されているファイルのことです。
functions.php にコードを追加等することによって、WordPressやプラグインの機能をカスタマイズできます。
functions.phpの使い方
【いつ使う?】function(関数)を設定するとき
WordPressやプラグインの機能をカスタマイズしたいとき、function(関数)を設定して、従来の機能を変更します。
その際、functionの内容や有効化処理をPHPコードにして作成しますが、そのPHPコードを functions.php に記載しておくことが必要です。
ひとかたまりのプログラミング言語のこと。ソースコードともいう。
functions.php にコードをあらかじめ記載すれば、必要なときにWordPressが自動で呼び出してくれます。
【どこにある?】ファイルの場所を知ろう
functions.php は基本的にサーバーの中の次の場所にあります。
「テーマのフォルダ」のところには、ご利用中のWordPressテーマ名が入ります。
※ 当ブログの場合はWordPressテーマSWELLの子テーマ「SWELL CHILD」を使っていますので、SWELL CHILDというフォルダ名(ディレクトリ名)になっています。
WordPressのシステムフォルダの1つで、WordPressをインストールしたサーバーの中にあります。
SWELLの関連記事▼
【安全に使うには?】子テーマのfunctions.phpを編集しよう
functions.php を編集するときは、子テーマの中にある functions.php を使うことをおすすめします。
親テーマのカスタマイズ用に作られたテーマのこと。親テーマのデザインや機能を引継ぎつつ、子テーマのファイルを変更することによってカスタマイズ可能です。
親テーマは通常、定期的にアップデートされます。アップデートのたびに functions.php の変更内容が失われることもあるため、再度コードの追加等をしなければならなくなります。
親テーマがアップデートされても子テーマの functions.php に記載しておけば、コードはそのまま残ります。
一般に広く使われているWordPressテーマなら子テーマも備えていますので、子テーマの functions.php を使うほうが安全です。
functions.phpの編集方法
コードに全角が紛れ込むなど、functions.php を間違って編集・保存してしまうとWordPress管理画面やサイト自体を開けなくなる等のエラーが生じます。
コードはすべて半角で書きます。コードの中に全角の記号やスペースが紛れ込んだまま functions.php を保存してしまったときにエラーが起こります。
その場合はサーバー上の functions.php を変更前のものに戻すことで対処するため、変更前の functions.php データを保存しておきます。
(バックアップを取る方法については後述します)
バックアップを取りましたら、functions.php の編集に入ります。
(普通のファイル更新の流れと同じです)
- ファイルにアクセスする
- ファイルを開いて編集する
- ファイルを保存する
1つずつ見ていきますね。
①ファイルにアクセスする
functins.php にアクセスする方法は3つあります。
- 【方法1】WordPressのテーマファイルエディター
- 【方法2】レンタルサーバーのファイルマネージャー
- 【方法3】FTPソフト
【方法1】WordPressのテーマファイルエディター
WordPressのテーマファイルエディターとは、WordPressの管理画面からサーバー上のテーマファイルを編集するためのメニューです。
手軽なメリットがある反面、上記の全角紛れ込み問題を起こしやすいデメリットがあり、慎重な入力が求められます。
WordPress管理画面の左側にある[外観]⇒[テーマファイルエディター]メニューをクリックします。
すると、「テーマを編集」という画面が出てきます(上の画像)
①画面の右上に「編集するテーマを選択」という項目があります。ここで親テーマと子テーマの切り替えができます。
※ 上の画像では当ブログが使っているSWELLの子テーマ「SWELL CHILD」になっています。
②画面右側には「テーマファイル」という項目があります。ここで「テーマのための関数(functions.php)」を選択しますと、functions.php の編集画面が出てきます。
functions.php 画面にはあらかじめコードが記されていると思いますが、下にスクロールすると空白の部分が出てきます。その空白にコードを追加します。
ただし、?> という記号があるときは、?> よりも上にコードを追加します。
PHPは、<?php と ?> の間にコードを書きます。終了タグの ?> は省略してもかまわないため記載のないファイルもあります。
【方法2】レンタルサーバーのファイルマネージャー
ファイルマネージャーとは、レンタルサーバーの機能の1つで、サーバー上のファイルを直接編集・削除したり、ダウンロード/アップロードするときなどに使います。
本記事では、当ブログで利用しているレンタルサーバー「ConoHa WING」を例にしています。
ConoHa WINGのコントロールパネルにログインします。
①画面左側にある「サイト管理」⇒「ファイルマネージャー」をクリックします。
ファイルマネージャーの画面が出てきます。
②「swell_child」ディレクトリをクリックした後、「functions.php」を選択します。
※「swell_child」のところはご利用中のWordPressテーマ名になります。
③画面上部にある「ダウンロード」アイコンをクリックすると、functions.php が自分のパソコンへダウンロードされます。
上の画像はダウンロードした functions.php です。デスクトップに置きました。
▼ConoHa WINGの関連記事
【方法3】FTPソフト
FTPソフトとは、サーバー上のファイルをダウンロード/アップロードするときに使うソフトウェアです。
本記事では、フリーソフトの「FileZilla」(ファイルジラ)を例にしています。
世界中で広く普及しているFTPソフト(無料)。自分のパソコンにインストール・設定した後、使えるようになります。
FileZilla の画面です。画面左側が自分のパソコンにあるファイル、画面右側がサーバーにあるファイルを表示します。
FileZillaを用いてサーバーに接続した画面です。右側にサーバー上のフォルダ(ディレクトリ)やファイルが出てきました。
ファイルをドラッグ&ドロップで右から左へ、左から右へ移動させることで、ダウンロード/アップロードが簡単に行えます。
▼FileZillaの関連記事
②ファイルを開いて編集する
functins.php を編集する方法も3つあります。
- 【方法1】テーマファイルエディター
- 【方法2】テキストエディタ
- 【方法3】コードエディタ
「エディター」と「エディタ」はどちらもよく見かける表現ですが、同じものを指します。
「テキストエディタ」の中で、コードを書くことに適した専用エディタのことを「コードエディタ」といいます。コードエディタはテキストエディタの一種であるため、テキストエディタと呼ばれることもあります。
※ 本記事ではコードエディタ以外のテキストエディタを「テキストエディタ」と呼びます。
【方法1】テーマファイルエディター
上記のテーマファイルエディターで functions.php を編集して、画面左下の「ファイルを更新」ボタンを押します。
しかし、この方法はサーバー上のファイルを直接編集することになるため、別の方法で事前にバックアップを取っておきます。
【方法2】テキストエディタ
自分のパソコンにダウンロードした functions.php をテキストエディタで開きます。
※ 上の画像はMacBookのテキストエディットを使っています。
テキストエディットで開いた functions.php の画面です。
WorPressのテーマファイルエディターで見たときと同じコードが表示されていますね。
この画面でコードを編集・保存します。
保存形式は「UTF-8」を選びましょう。
【方法3】コードエディタ
自分のパソコンにダウンロードした functions.php を「Visual Studio Code」で開きます。
コードを書くことに適した専用エディタ(無料)。自分のパソコンにインストール・設定した後、使えるようになります。略称「VSCode」(ブイエスコード)
VSCodeで開いた functions.php の画面です。
コードエディタはVSCodeのほかにAtomなども有名です。
▼VSCodeとAtomの関連記事
③ファイルを保存する
WordPressのテーマファイルエディター
画面左下の「ファイルを更新」ボタンを押すだけでOKです。
サーバー上のファイルを直接編集しているためアップロード作業は不要です。
レンタルサーバーのファイルマネージャーまたはFTPソフト
自分のパソコンで編集・保存した後、レンタルサーバーのファイルマネージャーまたはFTPソフトを用いて、サーバーへアップロードします。
ファイルマネージャーを使う場合は次のとおりです。
ConoHa WINGのコントロールパネルにログインします。
①画面上部にある「アップロード」アイコンをクリックします。
②「ファイルをアップロード」画面が出てきます。自分のパソコンにある functions.php をドラッグ&ドロップまたは「ファイルを選択」ボタンを押して、アップロードします。
アップロードした functions.php がサーバー上の functions.php に上書きされれば完了です。
functions.php のファイル名はそのままにしておきましょう。変更NGです。
おすすめの方法(体験談)
当ブログを始める前は、ConoHa WING以外のレンタルサーバーでWebサイト制作をしていました。
そのレンタルサーバーにもファイルマネージャーはありましたが、当時は少々不便でしたので、FTPソフトを使ってサーバー上のファイルを編集していました。
また、WordPressのテーマファイルエディターですと、「全角紛れ込み問題」でエラーになる危険を事前に防げません。
(WordPressのサイト画面が真っ白になる…)
コードエディタで編集すれば、仮に間違って全角で入力してしまっても、エディタが教えてくれたり自動で半角に調整してくれたりします。
- コードエディタで編集したファイルを、FTPソフトでサーバーへアップロードする。
- サーバー上のファイルはFTPソフトでダウンロードしてから編集する。
ConoHa WINGにするまでは、上記の方法で行っていました。
ConoHa WINGはファイルマネージャーがとても使いやすいです。
FTPソフトは事前の設定が必要で設定方法を学ばなければならないため、ファイルマネージャーが使いやすいレンタルサーバーなら、FTPソフトの代わりにファイルマネージャーを使うのがおすすめです。
functions.phpにコードを書いてみよう
コードを書く、といっても、インターネット上にはさまざまなPHPコードが公開されています。
インターネット上のコードをコピーして、自分の functions.php にペースト(貼り付け)する。それだけでWordPressのカスタマイズができてしまうコードも少なくありません。
最初は信頼できる手頃なコードを見つけて、コピペするところから始めてみましょう。
もしWordPressの画面が真っ白になったとしても、慌てずに。
僕も何度か真っ白になりました…
バックアップファイルをサーバーにアップロードして functions.php を上書きすれば元に戻ります。
慣れてくれば、数行のコードで柔軟なカスタマイズができますよ。
functions.php を使ってみたい方にとって本記事が少しでもお役に立ちましたら幸いです。