WordPressテーマ編集で必ず登場する「functions.php」。本記事では、add_action()
と add_filter()
の違いや使い方、よく使うフック一覧を初心者向けにわかりやすく解説します。
functions.phpとは?
役割と特徴
functions.php
は、WordPressテーマの「頭脳」ともいえるファイルです。
ここにコードを書き足すことで、テーマの見た目や動作を自由にカスタマイズできます。
例えば、
- CSSやJavaScriptファイルを読み込む
- 新しいウィジェットやメニューを追加する
- 表示される文章やタイトルを加工する
といった処理ができます。
style.cssやテンプレートファイルとの違い
- style.css → デザインを変える(色やフォントなど見た目の調整)
- テンプレートファイル(single.phpなど) → ページのレイアウトを変える
- functions.php → WordPressの動作や機能を追加・変更する
つまり、functions.phpは「機能追加・動作変更」のためのファイルです。
add_action()とadd_filter()の違い
add_action()とは
add_action()
は、「特定のタイミングで処理を実行する」ための関数です。
WordPressの処理には無数の「イベント(フックポイント)」があり、そこに自分の関数を登録できます。
例:CSSやJSを読み込む
function my_enqueue_files() {
wp_enqueue_style('my-style', get_stylesheet_uri());
}
add_action('wp_enqueue_scripts', 'my_enqueue_files');
上記コードは「サイトの読み込み時(wp_enqueue_scripts
)」というタイミングでCSSを追加する命令です。
add_filter()とは
add_filter()
は、「値や出力を加工する」ための関数です。
WordPressが何らかのデータを使う直前に、その値を変更できます。
例:記事タイトルを加工
function my_custom_title($title) {
if (is_singular('post')) {
return $title . ' | ITスキルアップブログ';
}
return $title;
}
add_filter('the_title', 'my_custom_title');
このコードは、記事タイトルの末尾にサイト名を追加します。
違いを一言で覚えるコツ
- add_action() → 「何かをする」(アクション)
- add_filter() → 「何かを変える」(フィルター)
よく使うフック一覧(テーマ編集向け)
よく使うadd_actionフック
フック名 | 役割 |
---|---|
wp_enqueue_scripts | CSSやJSを読み込む |
after_setup_theme | テーマ機能(サムネイルやメニュー)を登録 |
widgets_init | ウィジェットエリアを追加 |
init | カスタム投稿タイプやタクソノミーを登録 |
template_redirect | ページ表示前にリダイレクト |
よく使うadd_filterフック
フック名 | 役割 |
---|---|
the_content | 記事本文を加工 |
the_title | 記事タイトルを加工 |
excerpt_length | 抜粋文字数を変更 |
excerpt_more | 抜粋の末尾を変更 |
upload_mimes | アップロード可能なファイル形式を追加 |
実用コード例
CSS・JSを読み込むコード例
function my_enqueue_files() {
wp_enqueue_style('my-style', get_stylesheet_uri());
wp_enqueue_script('my-script', get_stylesheet_directory_uri() . '/js/main.js', array(), null, true);
}
add_action('wp_enqueue_scripts', 'my_enqueue_files');
記事タイトルを加工するコード例
function my_custom_title($title) {
if (is_singular('post')) {
return $title . ' | ITスキルアップブログ';
}
return $title;
}
add_filter('the_title', 'my_custom_title');
まとめ
覚えておくべきポイント3つ
- functions.phpはWordPressテーマの動作を変えるファイル
- add_actionは「何かをする」タイミングを指定する
- add_filterは「何かを変える」ために使う
functions.phpを理解すると、テーマカスタマイズの幅が一気に広がります。
最初は難しく感じても、よく使うフックを覚えながら実践していけば自然と身につきます。