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テーマをより柔軟にカスタマイズできるようになります。