functions.phpの役割とは?WordPressテーマにおける使い方と注意点を解説

functions.phpの役割とは?WordPressテーマにおける使い方と注意点を解説

WordPressテーマの中に必ずといってよいほど存在する「functions.php」。
テーマファイルの中で重要な役割を果たすこのファイルについて、正しく理解していますか?

この記事では、functions.phpの役割やできること、書き方のルール、編集時の注意点を初心者にもわかりやすく解説します。

目次

functions.phpとは?

functions.phpは、WordPressテーマ内にあるPHPファイルで、テーマに独自の機能を追加するための設定ファイルです。
テンプレートファイル(header.php や footer.php)などと違い、画面に直接出力されるわけではなく、裏側で処理されるコードをまとめて書く場所です。

主な役割とできること

functions.phpでは、以下のような処理を行うことができます。

  • テーマ独自の関数定義
  • カスタムメニューの登録
  • ウィジェットエリアの追加
  • ショートコードの定義
  • JavaScript・CSSの読み込み(wp_enqueue_script など)
  • WordPressのデフォルト機能の変更(フィルターやアクション)
  • 投稿タイプやカスタムタクソノミーの追加
  • ログイン画面や管理画面のカスタマイズ

基本的な記述方法

functions.phpに書くコードは、通常のPHPと同じ構文で記述します。
ただし、PHPの開きタグ <?php は最初に一度だけ必要で、ファイル内に複数書かないようにします。

例:

PHP
// ウィジェットを有効化
function my_theme_widgets_init() {
  register_sidebar([
    'name' => 'サイドバー',
    'id' => 'sidebar-1',
    'before_widget' => '<div class="widget">',
    'after_widget' => '</div>',
  ]);
}
add_action('widgets_init', 'my_theme_widgets_init');


functions.phpを編集する場所

テーマごとにfunctions.phpは存在します。

  • パス例:/wp-content/themes/使用中テーマ/functions.php
  • 子テーマを使用している場合は、子テーマのfunctions.phpに記述するのが推奨です

親テーマと子テーマでの扱いの違い

  • 親テーマのfunctions.phpを直接編集するのは非推奨
    • テーマのアップデートで上書きされるリスクがあるため
  • 子テーマを使えば、安全にカスタマイズ可能
    • 子テーマのfunctions.phpは、親テーマのfunctions.phpより後に読み込まれる

よく使われる処理の例

WordPressのバージョン表示を削除


PHP
remove_action('wp_head', 'wp_generator');

投稿のサムネイル機能を有効化

PHP
add_theme_support('post-thumbnails');

カスタムショートコードの作成


PHP
function my_shortcode() {
  return '<p>このショートコードの出力です。</p>';
}
add_shortcode('mycode', 'my_shortcode');

編集時の注意点

functions.phpを編集する際には以下の点に注意してください。

注意点内容
文法ミスに注意PHPの1文字のミスでサイトが真っ白になる(Fatal error)ことがあります
テスト環境で確認直接本番で編集せず、ローカルまたはステージング環境で確認
FTPアクセスできるように万が一エラーが出た場合に備えてFTPクライアントで復旧できるようにする
子テーマを使用編集内容をアップデートで失わないようにするため

functions.phpとプラグインの使い分け

functions.phpは軽量かつ簡単に使える一方で、テーマに依存するというデメリットもあります。
同じ機能を複数のテーマで使いたい場合は、オリジナルのプラグインとして作成・管理する方が適しています。

まとめ

  • functions.phpは、WordPressテーマに独自の機能を追加する重要なファイル
  • カスタム関数、ショートコード、フィルターなどさまざまな設定が可能
  • 子テーマを活用することで、安全に編集・管理ができる
  • 編集ミスがサイト全体に影響するため、慎重な扱いが必要

functions.phpを理解すれば、WordPressテーマをより柔軟にカスタマイズできるようになります。

目次