
WordPressの開発で頻繁に登場する「フック」は、プラグインやテーマを拡張・カスタマイズするうえで欠かせない仕組みです。この記事では、WordPressの2大フック「アクションフック」と「フィルターフック」の違いと、それぞれの使いどころを具体的なコード例とともに解説します。
目次
フックとは?WordPressの拡張ポイント
WordPressの「フック(Hook)」とは、WordPress本体やテーマ、プラグインの処理に対して、開発者が独自の処理を差し込める“タイミング”のことです。
主に以下の2種類に分けられます:
- アクションフック(Action Hook):処理の実行タイミングを拡張
- フィルターフック(Filter Hook):データの加工や出力内容の変更
フックを使うことで、WordPress本体のコードを直接編集することなく、機能の追加やカスタマイズが可能になります。
アクションフックとは?実行タイミングで処理を追加
アクションフックは、指定されたタイミングで特定の処理を追加するときに使用します。主に何かを「実行する」用途に使われます。
基本構文
add_action('フック名', '実行する関数名');
例:wp_head
フックでheadタグにコードを追加
function add_custom_meta_tag() {
echo '<meta name="author" content="YourName">';
}
add_action('wp_head', 'add_custom_meta_tag');
この例では、<head>
タグ内にカスタムのメタタグが追加されます。
フィルターフックとは?データの加工・変更に使用
フィルターフックは、ある値に対して処理を加えて別の値を返すときに使用します。主に表示内容の加工に使います。
基本構文
add_filter('フック名', '加工する関数名');
例:the_content
フィルターで記事末尾に追記
function add_custom_footer_text($content) {
if (is_single()) {
$content .= '<p class="custom-footer">この記事を読んでいただきありがとうございます!</p>';
}
return $content;
}
add_filter('the_content', 'add_custom_footer_text');
この例では、投稿ページの本文の末尾に任意の文章を追加しています。
アクションとフィルターの違いと使い分け
項目 | アクションフック | フィルターフック |
---|---|---|
目的 | 処理を追加する | データを加工する |
戻り値 | 不要 | 必要(加工後の値を返す) |
使用例 | headタグにタグ追加、カスタム投稿登録など | 投稿タイトルや本文の変更、出力の整形など |
- 「処理を追加」したい →
add_action()
- 「値を加工」したい →
add_filter()
と覚えると分かりやすいです。
よく使われる代表的なフック一覧
よく使うアクションフック
// WordPressの初期化時に処理を追加する(カスタム投稿タイプの登録などによく使う)
add_action('init', 'my_init_function');
// CSSやJSファイルを読み込むタイミングで使う(enqueue処理に必須)
add_action('wp_enqueue_scripts', 'enqueue_my_scripts');
// テーマセットアップ時(サポート機能追加など)
add_action('after_setup_theme', 'theme_setup_function');
// 管理画面の読み込み時(管理画面用CSS/JS読み込みなど)
add_action('admin_enqueue_scripts', 'enqueue_admin_assets');
// 投稿保存時のフック(カスタムフィールドの自動保存などに)
add_action('save_post', 'my_save_post_handler');
// ユーザーログイン直後の処理(リダイレクトなど)
add_action('wp_login', 'on_user_login', 10, 2);
よく使うフィルターフック
// 投稿タイトルを加工(例:「[重要]」を付ける)
add_filter('the_title', 'customize_title');
// 抜粋の長さを変更(デフォルトは55語)
add_filter('excerpt_length', 'change_excerpt_length');
// アップロードできるMIMEタイプを追加(SVG画像など)
add_filter('upload_mimes', 'add_custom_mime_types');
// ユーザー名の表示方法をカスタマイズ(ニックネーム表示など)
add_filter('the_author', 'customize_author_display');
// ログインエラーメッセージの変更(セキュリティ対策)
add_filter('login_errors', 'customize_login_error_message');
// WooCommerceの価格表示をカスタマイズ(税抜/税込切替など)
add_filter('woocommerce_get_price_html', 'custom_price_display');
どのフックが使えるかは、WordPress CodexやHook Listなどで確認するのがおすすめです。
まとめ:アクションとフィルターを理解して開発に活かそう
WordPressのフックは、柔軟にカスタマイズを実現するための最重要要素です。アクションフックとフィルターフックの違いを理解して使い分けることで、より堅牢で拡張性の高いテーマやプラグインを開発できます。
特に、add_action()は処理の追加、add_filter()は値の加工と覚えることで、迷わず使えるようになります。この記事を参考に、実際の開発で積極的にフックを活用してみてください。

Contact
ウェブサイトの制作や運用に関わる
お悩みやご相談
お気軽にお問い合わせ下さい
ウェブサイトと一口に言っても、企業サイトやECサイト、ブログ、SNSなど、その“カタチ”は目的に応じてさまざまであり、構築方法や使用する技術も大きく異なります。株式会社コナックスでは、お客様のご要望やブランドの個性を丁寧に汲み取り、最適なウェブサイトの“カタチ”をご提案いたします。
デザイン、ユーザビリティ、SEO対策はもちろん、コンテンツ制作やマーケティング戦略に至るまで、あらゆるフェーズでお客様のビジネスに寄り添い、成果につながるウェブサイトづくりをサポートいたします。私たちは、ウェブサイトの公開をゴールではなくスタートと捉え、お客様のビジネスの成功に向けて共に伴走してまいります。