ワードプレスでカスタマイズする場合、functions.phpに新たに関数を追加することがありますが、この追加するコードが長くなったり複数追加する場合、

  • functions.phpが見づらい!なんとかしたい
  • 追加するものを分けて見やすくしたい!

という場合が出てきます。

一人でコード追加する場合もそうですが、これが複数人でコードを追加するとなれば尚更ですね!

ということで、ここでは、functions.php に関数を追加する場合、ファイルを分けて追加する方法をご紹介したいと思います。これですっきり作業も進められると思いますよ!(私も活用してます!)

別ファイルで関数を追加

functions.php を別ファイルに分けるのは非常に簡単で以下の2手順のみ。

  • 手順1)追加コードを別ファイルに保存
  • 手順2)functions.php に、別ファイルを読み込むための記述をする

手順1で「aaa.php」というファイルに追加コードを保存したとして、手順2の「functions.php」に書く「別ファイルを読み込むための記述」は以下の通り。

親テーマを使っている場合

子テーマを使っている場合

違いは「get_template_directory()」か「get_stylesheet_directory()」だけですが、

  • get_template_directory()
    • 「親テーマ」のディレクトリへのパスを取得
  • get_stylesheet_directory()
    • 「子テーマ」のディレクトリへのパスを取得

ということで、現在親テーマを使っているか、子テーマを使っているかで使い分けをすれば良いですね。

「functions.php」の編集は、「外観」⇒「テーマエディタ」で「テーマのための関数 (functions.php)」に対して行えばOK!

では具体的にどうなるかを、親テーマの場合、子テーマの場合で見てみましょう。

親テーマの具体例

最初に親テーマを使っている場合(子テーマを使ってない場合)から。

まず追加コードを記述したファイルを「functions-jin.php」としたとして、「現在使用しているテーマのフォルダー」にアップロード。

テーマ「賢威」の例

※)テーマのフォルダーのありか
テーマのフォルダーは、以下のパスになると思います。
ドメイン名.com/public_html/wp-content/themes/テーマ名

続いて、追加したファイル(functions-jin.php)が読み込まれるように「functions.php」に以下のコードを追加。

親テーマを使っている場合なので、「get_template_directory()」を使い、その後に追加のファイル名「’/functions-jin.php’」を記述します。

テーマ「賢威」を使った「functions.php」の記述例

行うのは以上で終わりです。とっても簡単ですね。^-^)

別ファイルが複数ある場合

追加する別ファイルが複数ある場合(例えば「functions-test1.php」「functions-test2.php」「functions-test3.php」と3つある場合)も同様です。

まずその3つのファイルをテーマのフォルダにアップロード。

テーマ「賢威」の例

あとは、その3つのファイルが読み込まれるように、functions.phpを編集して保存。

テーマ「賢威」を使った「functions.php」の記述例

子テーマを使用している場合には、「get_template_directory()」を「get_stylesheet_directory()」に変更する必要があるのでご注意を。

以上のように、複数の別ファイルの読み込みも簡単にできますね。

子テーマの具体例

続いて子テーマを使っている場合ですが、親テーマを使っている場合に比べて若干異なるだけで基本は同じ。

追加コードを記述したファイルを「functions-jin.php」としたとして、「現在使用している子テーマのフォルダー」にアップロード。

※)子テーマのフォルダーのありか
テーマのフォルダーは、以下のパスになると思います。
ドメイン名.com/public_html/wp-content/themes/子テーマ名

続いて、追加したファイル(functions-jin.php)が読み込まれるように「functions.php」に以下のコードを追加。

子テーマを使っている場合なので、「get_stylesheet_directory()」を使い、その後に追加するファイル名「’/functions-jin.php’」を記述します。

テーマ「賢威」の子テーマを使ったfunctions.phpの記述例

以上で終わり!

複数の別ファイルを追加する場合(例えば「functions-test1.php」「functions-test2.php」「functions-test3.php」と3つある場合)もやり方は親テーマ同様で以下のようにすればよいですね。

子テーマフォルダーに追加ファイル(「functions-test1.php」「functions-test2.php」「functions-test3.php」)をアップロード!

テーマ「賢威」の子テーマを使った例

その後、子テーマの「functions.php」に以下のコードを追加。

テーマ「賢威」の子テーマを使った例

以上で複数のファイルの対応も簡単です。

では最後に、追加するファイルをフォルダ別にする方法も見ておきましょう。

別フォルダで管理する

追加するファイルが1つぐらいならまぁよいですが、これが5つも6つもなると、フォルダ分けして分かりやすくしたいもの。

例えば「functions-new」というフォルダに分けて整理したい場合には、functions.phpへの記述内容は以下のようにすれば良いですね。

※)以下、「functions-test1.php」「functions-test2.php」「functions-test3.php」と3つの追加ファイルをフォルダ分けする、という場合

親テーマの場合

親テーマの場合、フォルダへのパスを追加すればOK.

この例では、フォルダ分けするためのフォルダ名を「functions-new」としたので、functions.phpへそのフォルダのパスを追加してます。

フォルダ名を「aaa」とかにすれば、勿論「functions-new」を「aaa」に変えればOKです。

子テーマの場合

子テーマの場合も同様に、フォルダのパスを追加すればOK。

親テーマとの違いは、「get_template_directory()」の代わりに「get_stylesheet_directory()」を使っている、という点のみ。

ここさえ間違えなければ、親テーマを使っている場合でも子テーマの場合でもどちらも対応は簡単です。

今回のポイント

今回のポイントは、以下3点。

  • functions.php に include 文を追加す
  • 親テーマでは「get_template_directory()」を使う
  • 子テーマでは「get_stylesheet_directory()」を使う

色々カスタマイズで関数を追加しだすと、いつの間にか functions.php の内容も長くなり、どこに何が書いてあるのかがとても分かりづらくてイライラする!何て場合も出て来るかと思います(私がそうです(笑))

また、私のような日曜プログラマーなどは、勘違いやうっかりミスなどが連発するもので、そうなると、余計に「この関数だけ別のファイルにしてそれだけ修正対象にしたい」といった必要にも迫られます。

私の場合、実際には関数追加はテーマを変えた時ぐらいにしかしませんが、そうした時に、あれ?別ファイルにするにはどうするんだっけ?と改めて調べたりして、これもそれなりに手間。

この記事が、あなたのカスタマイズの一助になってくれたら幸いです。

また、ブログで収益をあげたいがどうすれば良いか分からない、ネットビジネスの収入の増やし方を筋道を立てて学びたい、などあれば、是非以下のメルマガにも登録してみてくださいね。

早期退職して海外で奮闘する JIN のメールマガジン

時間や場所に縛られず稼いだJINが教える

~ 最短最速で月収10万円を手に入れる方法 ~

苗字(必須)

隣のあの人にも、思わず教えたくなる秘密

配信停止は、いつでもできます

お預かりした情報は保護されます

迷惑メールは一切配信されませんので、ご安心くださいね