Wordpressのfunctions.phpとは?場所と編集方法、コードの書き方を初心者向けに解説します。

2021-12-04

functions.phpとは?_002

Wordpressのカスタマイズ方法を調べているとfunctions.phpというファイル名が良く出てきます。

初心者の方からすると「"コードを子テーマのfunctions.phpに書けばOK!"」と書かれていても、どこにfunctions.phpがあるのか?どうやって編集するのか?が分からないと思います。

そこで今回、Wordpressのfunctions.phpの使い方について分かりやすくご案内できればと思いこの記事を書きました。

ファイルの場所と書き方、バックアップ方法を覚えるだけで使えます。簡単!

functions.phpとは?

まず初めにfunctions.phpって何?というお話から…
ファイルの場所や書き方は後ほど詳しく解説いたします。

functions.phpとは?_001

functions.phpはPHPファイル

読み方は"ファンクション"で、日本語の意味は"関数や機能"です。

functions.phpは拡張子が「.php」となっており、PHPというプログラム言語でソースコード(中身)が書かれたPHPファイルです。
Wordpressのコアファイルの大半もこのPHPという言語で書かれています。

functions.phpで何ができる?

Wordpressではfunctions.phpを使うことで様々なカスタマイズ(機能の拡張や制御)を行うことができます。仕組み的にはプラグインに似ています。

functions.phpを使えば何ができる?というよりは、Wordpressの機能にあるものならほぼ何でもカスタマイズすることができます。

具体的には、例えば以下のようなことが出来ます。

  • 記事をランダムな順番で表示する
  • 記事の概要の説明文を文字数で制限する
  • コメント欄の文言や入力欄をカスタムする
  • ショートコードを自作して読み込む
  • 画像アップロード時に自動でリサイズする
  • サイト内検索から固定ページを除外する
  • プログラムを読み込む、読み込みを停止する

などなど…無限にカスタムできます。
とにかくfunctions.phpを使いこなせれば、痒いところに手が届くようになります。

使いこなすといっても、1からプログラミングが必要な訳ではありません。
というのもカスタマイズ用のコードは当サイトのようなブログでネット上に公開している人が多く、実際はコードをコピペするだけで色々な機能が実装できるからです。

functions.phpはWordpressで編集する機会が一番多いファイルと言っても過言ではないくらい便利なので、ぜひ使い方をマスターして下さい!

使い方は簡単で、functions.phpの場所、編集方法(書き方)とバックアップの取り方さえ押さえておけば、コード自体は基本的にコピペで動きます・w・

長くなりました。では順番に確認していきましょう。

functions.phpの場所

実際にコードを書き込むfunctions.phpの場所は以下です。

wp-content > themes > 子テーマ(○○-child) > functions.php

テーマが入っているフォルダ内のテーマの中にfunctions.phpがあるはずです。
(もし初めから無ければ、後述する書き方で新規作成すればOK!)

functions.phpとは?_002

子テーマ内のfunctions.phpを編集する

ここで1つポイントがあります。
それは親テーマではなく子テーマ内のfunctions.phpを編集するということです。

大体の人気テーマには専用の子テーマがあります。
そして子テーマには「テーマ名-child」というようにファイル名に-childが付きます。

例として、無料で人気のテーマ「Cocoon」の場合は以下のような感じです。

  • cocoon-master:親テーマ
  • cocoon-child-master:子テーマ

これまた人気の有料テーマ「AFFINGER」の場合は以下のような感じです。

  • affinger5:親テーマ
  • affinger5-child:子テーマ

上記を参考に子テーマフォルダ内のfunctions.phpを編集するようにしましょう!
子テーマ内のfunctions.phpは自分専用のカスタマイズファイルという事です・w・

ポイント

親テーマ内のfunctions.phpでも問題なく動作しますが、テーマアップデート時に編集した内容(書き込んだコード)が消えてしまいます。

ただWordpressの標準テーマなど、中には子テーマがないテーマもあります…
子テーマは簡単に作れるのですが、長くなりますのでこの記事では割愛します。

スポンサーリンク

functions.phpの編集方法

サーバー上のファイルにアクセスする方法は以下の3つが代表的かと思います。
子テーマ内のfunctions.phpが編集&保存できれば良いので、お好きな方法でどうぞ。

  1. WordPress管理画面から編集する
  2. FTPソフトを使って編集する
  3. サーバー会社のファイルマネージャーなどを使って編集する

初心者の方にオススメなのがWordpressの管理画面からfunctions.phpを編集する方法なので、こちらから書きます・w・

ポイント

初めて編集する方は後述するfunctions.phpのバックアップ方法も確認してから行って下さい。

WordPressの管理画面から編集する

functions.phpの編集&保存だけなら、Wordpressの管理画面から簡単に行えます。

手順は以下です。

  1. Wordpress管理画面にログイン
  2. 外観 > テーマエディターを開く
  3. テーマのための関数を開く
  4. functions.phpにコードを書く
  5. ファイルを更新して動作確認

簡単です。コードがコピペできるなら1分で終わります!

functions.phpとは?_003

外観>テーマエディター

Wordpressの管理画面にログインしたら、外観からテーマエディターを開きます。

functions.phpとは?_004

テーマのための関数(functions.php)を編集する

テーマエディターが開いたらまず、画面右上の"編集するテーマを選択"が子テーマになっているか確認しましょう。
続いて"テーマファイル"から「テーマのための関数(functions.php)」を開きます。

あとは使いたいコードを順番に書き込んでいくだけです!

書き終わったら「ファイルを更新」を押し、サイトで動作確認を行って終了です。

注意ポイント

一番簡単な方法ですが、functions.phpに重大なエラーが発生すると管理画面にすらログインできなくなる可能性もあります。
こればかりはコードによるので何とも言えません…心配な方は後述する別の方法でチャレンジして下さい。

FTPソフトで編集する

FilezillaやFFFTPなどのFTPソフトを使ってももちろんOK!

手順は以下です。

  1. FTPソフトでサーバーにログイン
  2. 子テーマ内のfunctions.phpを見つける
  3. functions.phpを一度PCにダウンロードし、編集&保存
  4. 再度FTPソフトで子テーマ内のfunctions.phpを上書きする
  5. サイトを開いて動作確認
functions.phpとは?_005

子テーマ内のfunctions.phpを編集してアップロードし直す

FTPソフトの場合はPCにダウンロード→アップロード(上書き)という流れです。

若干面倒ですが、バックアップを作ることが出来るので、自分でプログラミングする場合などコードが怪しい時はコチラの方法が良いかもしれません。

functions.phpの編集で管理画面にアクセスできなくなった場合も対応できます。

サーバー会社のファイルマネージャーを使う

これはレンタルしているサーバー会社によって異なるので省略気味で…
最近のレンタルサーバー会社は国内外問わず、FTPソフトを使わなくてもサーバー上のファイルを編集できるように専用のツールを提供している所が多くあります。

サーバーのコントロールパネルとしてcPanelが使えるなら、cPanelにログインしてからファイルマネージャーを開き、ファイルを直接編集することが出来ます。

Xserverの場合は、契約管理ページにログイン後「ファイル管理」を開けばファイルが直接編集できました。

この方法でも管理画面にアクセスできなくなった時の対処が可能です。

functions.phpのバックアップ方法

functions.phpは重要なファイルです。

プログラムファイルなので、コードに1文字でもミスがあるとサイトが開けなくなる可能性もあります。
とはいえ、エラーが出ても編集前のコードにそっくりそのまま戻せばサイトは元通りになりますので、過度な心配は不要かと個人的には思います。
でも慣れない方は怖いですよね…という事で簡単なバックアップ方法です。

functions.phpのバックアップは編集前のコードをPC内に保存すればOKです。
具体的には以下のような方法でパソコン内に保存しましょう。

  1. functions.phpファイルを丸ごとダウンロードしておく
  2. メモ帳やテキストファイルにコードを丸々コピーしておく
functions.phpとは?_006

ファイルごとDLしておけば安心

安全なのは編集する前にfunctions.phpをPCにダウンロードしておく方法です。
DLしたファイルは触らず、編集するときはこれを更にコピーして編集すればOK!

ファイルのダウンロードが分からない!という方は最悪ソースコードを丸々どこかにコピーしておけば何とかなります。

ファイル編集時の豆知識

僕がfunctions.phpを編集するときは、コードを保存しても編集画面は閉じずにおいています。この状態でサイトの動作確認を行い、もしエラーが出ればコードの編集画面でCtrl + Zなどでアンドゥして保存すれば元通りになります!

functions.phpの書き方

最後にコードの書き方です。
書き方と言っても基本的にはネット上に公開されているコードをコピペするだけになることが多いのですが…

functions.phpの基本的なテンプレートは以下です。

 functions.php
<?php
if ( !defined( 'ABSPATH' ) ) exit;
//以下にコードを追記していく

ファイルの1行目は「<?php」から始まります。
これはPHPプログラム書きま~す!という合図のようなもの。

続いてのif ( !defined( 'ABSPATH' ) ) exit;という一行。
これはセキュリティ対策です。自分しかコードは実行しない!という意味。

その次の行から自分用のカスタマイズコードを順番に追加していく感じです。
ちなみに最終行に「?>」の閉じタグは必要ありません。

よくあるコードの例が以下のようなものです。

 functions.php
<?php
if ( !defined( 'ABSPATH' ) ) exit;
//以下にコードを追記していく
//○○をするためのコード
function 関数名($引数) {
  if(is_search()) {
    ~処理内容~
  }
add_filter('フィルターフック名', '関数名');
//○○を○○するためのコード
function hogehoge( $s ) {
    if ( ほげほげ ) {
    ~処理内容~
    }
}
add_action( 'pre_get_posts', 'hogehoge' );
・・・

「function~」からadd_filterまでが1セットとなっていることが多いです。
こんな感じにずら~と使いたい機能のソースコードを追記していけばOK!

その他、functions.phpに関してのポイントはWordPress Codexにもあります。

テーマの functions ファイル:
専用のヘッダーテキストは不要。
テーマと一緒に wp-content/themes のテーマ用サブディレクトリーへ入れる。
現在有効なテーマのディレクトリーにあるときのみ実行される。
そのテーマに対してのみ働く。テーマを変更すると、機能はなくなる。
多くの異なる用途に使えるように、コードのブロックを複数持つことができる。

引用元:functions.php 概説 - WordPress Codex 日本語版


まとめ

以上、Wordpressのfunctions.phpの場所と編集方法、コードの書き方でした。
Wordpressを使うなら便利なカスタムがし放題なので、ぜひ使ってみて下さ~い!

最後にアレですが、functions.phpで実装できて便利なものは大体プラグイン化されています。
それなりに探せばプラグインだけでも自分の思った通りのカスタマイズが出来るかもしれませんが、プラグインが多すぎるとサイトのスピードが遅くなったり、セキュリティが貧弱になったり(入口が多くなる)であまり良くありません。

僕はfunctions.phpを使用する最大のメリットはプラグインの数を減らせることにあると思っています…ほぼ自己満ですけどねw

ではではこのへんで・w・

-WordPress
-

site-logo
ありがとうございました!
良かったらシェアしてネ・w・
当サイトはピンバックを受け付けます。
  • この記事を書いた人
ザキ

ザキ

X:@sologaku

プログラミングに興味があり情報系の大学を卒業。

新卒で社会人になるも数年で退職し今はフリーランスとして生きています。

少しでも誰かの役に立てれば...と思い、当サイトでIT関係のハウツーを発信しています。


ソロ学運営者:ザキの自己紹介

© 2020 sologaku