WordPressのfunctions.phpとは?add_actionとadd_filterの違いをやさしく解説

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_scriptsCSSや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つ

  1. functions.phpはWordPressテーマの動作を変えるファイル
  2. add_actionは「何かをする」タイミングを指定する
  3. add_filterは「何かを変える」ために使う

functions.phpを理解すると、テーマカスタマイズの幅が一気に広がります。
最初は難しく感じても、よく使うフックを覚えながら実践していけば自然と身につきます。

-ワードプレス
-,