WordPressカスタマイズで使えるアクションフック・フィルターフック一覧(チートシート)

投稿日:2024年10月13日(日) 更新日:2024年10月26日(土)
WordPressカスタマイズで使えるアクションフック・フィルターフック一覧(チートシート)|UMENOKI|すぐに仕事で使えるIT技術情報メディア

みなさんこんにちは!エンジニアの高澤です!

今回はWordPressカスタマイズで使えるアクションフック・フィルターフック一覧(チートシート)について解説していきたいと思います。

当記事ではとにかく仕事で使えるWordPressフックを厳選して解説し、プラグイン開発やテーマ開発でいつでも使用できるチートシートとしての役割を意識して構成いたしました。

初心者の方にはどんなフックがあるのか、どんなことができるのかのイメージを掴めることができ、上級者の方にはすぐにカンニングすることができるツールとなっていることと思います。

よろしければ、当記事を繰り返しご活用いただけましたら幸いです。

目次

フックとは

フックとは、WordPressの処理フローに特定のカスタマイズを追加する仕組みであり、これにより開発者はWordPressの動作を柔軟に調整できます。フックには主に二つの種類があります。

フックには以下の2種類があります。

  • アクションフック
  • フィルターフック

このフックを利用することで、WordPressの機能を拡張したり、独自の機能を追加したりすることが可能です。具体的には、get_the_title()get_the_content()といったテンプレートタグを使って表示されたテキストを加工し、独自の表示を実現できます。また、管理画面でのユーザーアクションに応じて処理を実行する際にも、フックが非常に役立ちます。

フックについて詳しくは以下の記事で解説しておりますので、よろしければチェックしてみてください。

アクションフックとフィルターフックについて解説いたします。

アクションフック

アクションフックは、WordPressにおいて特定のイベントが発生した際に、事前に指定したアクション(コードや関数)を実行するための仕組みです。これにより、開発者はWordPressの動作をカスタマイズし、特定のタイミングで独自の機能を追加できます。

例えば、以下のようなシチュエーションで使用されます。

  • 記事が公開されたとき: 投稿が公開される際に、通知メールを送信する。
  • テーマが変更されたとき: 新しいテーマが有効化された際に、特定の設定を行う。
  • ウィジェットが更新されたとき: ウィジェットの内容が変更された場合に、キャッシュをクリアする。

アクションフックは、開発者が実装した関数を、指定されたタイミングで実行するのに役立つため、非常に柔軟なカスタマイズが可能です。

フィルターフック

フィルターフックは、WordPressにおいて特定のデータや値を変更するために使用される仕組みです。このフックは、特定のデータが表示される前に、そのデータを修正するためのフィルター関数を実行します。

フィルターフックを利用することで、以下のようなことが可能になります。

  • 投稿の本文やタイトルの変更: 投稿が表示される際に、その内容を加工することができます。
  • コメントの内容の修正: ユーザーが投稿したコメントを表示する前に、特定の形式に整えたり、不適切な言葉をフィルタリングしたりできます。
  • 特定データへのフィルター処理: 他のプラグインやテーマで生成されたデータに対しても、フィルター処理を行うことができます。

フィルターフックは、データの表示方法を柔軟にカスタマイズできるため、開発者にとって非常に強力なツールとなります。

カスタマイズで使えるフック一覧

それでは早速、カスタマイズで使えるフック一覧(チートシート)を解説させていただきます。

まず事前にWordPress公式サイトに以下のフックリファレンスがありますので、当記事では掲載していないフックがありましたらこちらからご確認いただけますのでご活用ください。

それではフックを解説していきます。

plugin_loaded

プラグインが読み込まれた後に実行されるアクションフック。プラグインの初期化や設定に使用されます。

https://developer.wordpress.org/reference/hooks/plugin_loaded/

after_setup_theme

テーマがセットアップされた後に実行されるフック。テーマの機能やサポートを追加するのに使用されます。

https://developer.wordpress.org/reference/hooks/after_setup_theme/

init

WordPressの初期化プロセスが完了した後に発火するアクションフック。カスタム投稿タイプやタクソノミーの登録に使用されます。

https://developer.wordpress.org/reference/hooks/init/

wp_loaded

WordPressが完全に読み込まれた後に実行されるアクションフック。プラグインやテーマの読み込み後に何かを実行するのに適しています。

https://developer.wordpress.org/reference/hooks/wp_loaded/

wp

WordPressのメインクエリが実行される前に実行されるフック。リクエスト処理をカスタマイズするのに使用されます。

https://developer.wordpress.org/reference/hooks/wp/

do_parse_request

リクエストの解析を行う直前に発火するフック。リクエストの変更を行いたい場合に使用されます。

https://developer.wordpress.org/reference/hooks/do_parse_request/

query_vars

クエリ変数を追加するためのフィルターフック。カスタムクエリ変数を使いたいときに便利です。

https://developer.wordpress.org/reference/hooks/query_vars/

request

リクエストが処理される直前に実行されるフィルターフック。リクエストデータの変更に使用します。

https://developer.wordpress.org/reference/hooks/request/

parse_request

リクエストの解析が行われた後に実行されるアクションフック。カスタムリクエスト処理に使用されます。

https://developer.wordpress.org/reference/hooks/parse_request/

parse_query

クエリが解析される直前に実行されるフック。クエリの条件を変更するのに使用されます。

https://developer.wordpress.org/reference/hooks/parse_query/

pre_get_posts

メインクエリを取得する前に実行されるアクションフック。クエリの条件を変更するために使用します。

https://developer.wordpress.org/reference/hooks/pre_get_posts/

template_redirect

テンプレートが選択された後に実行されるアクションフック。リダイレクト処理などに使用されます。

https://developer.wordpress.org/reference/hooks/template_redirect/

{$type}_template

特定の投稿タイプのテンプレートを取得するためのフィルター。たとえば、post_templatepage_templateなど。

https://developer.wordpress.org/reference/hooks/post_type_template/

template_include

テンプレートファイルをインクルードする前に実行されるフィルターフック。使用するテンプレートを変更できます。

https://developer.wordpress.org/reference/hooks/template_include/

register_activation_hook

プラグインが有効化されたときに実行されるアクションフック。データベースの初期設定などに使用されます。

https://developer.wordpress.org/reference/hooks/register_activation_hook/

register_deactivation_hook

プラグインが無効化されたときに実行されるアクションフック。クリーンアップ処理などに使います。

https://developer.wordpress.org/reference/hooks/register_deactivation_hook/

register_uninstall_hook

プラグインがアンインストールされたときに実行されるフック。データベースの削除や設定のクリーンアップに使用されます。

https://developer.wordpress.org/reference/hooks/register_uninstall_hook/

posts_join

SQLクエリのJOIN句を変更するためのフィルターフック。カスタムクエリに必要なJOINを追加できます。

https://developer.wordpress.org/reference/hooks/posts_join/

posts_where

SQLクエリのWHERE句を変更するためのフィルターフック。特定の条件でクエリを絞り込みたいときに使用します。

https://developer.wordpress.org/reference/hooks/posts_where/

posts_search

SQLクエリの検索部分を変更するためのフィルターフック。カスタム検索条件を追加できます。

https://developer.wordpress.org/reference/hooks/posts_search/

posts_orderby

SQLクエリのORDER BY句を変更するためのフィルターフック。結果の並び順を変更できます。

https://developer.wordpress.org/reference/hooks/posts_orderby/

posts_groupby

SQLクエリのGROUP BY句を変更するためのフィルターフック。集約クエリを実行する際に使用します。

https://developer.wordpress.org/reference/hooks/posts_groupby/

posts_distinct

SQLクエリにDISTINCT句を追加するためのフィルターフック。重複を排除する際に使用します。

https://developer.wordpress.org/reference/hooks/posts_distinct/

post_limits

SQLクエリのLIMIT句を変更するためのフィルターフック。表示する投稿数を制御できます。

https://developer.wordpress.org/reference/hooks/post_limits/

posts_fields

SQLクエリで取得するフィールドを変更するためのフィルターフック。必要なデータだけを取得できます。

https://developer.wordpress.org/reference/hooks/posts_fields/

posts_clauses

SQLクエリの全体的なクレーズを変更するためのフィルターフック。複雑なクエリを構築できます。

https://developer.wordpress.org/reference/hooks/posts_clauses/

posts_request

投稿リクエストが実行される前にフィルタリングするためのフック。クエリの調整に使用します。

https://developer.wordpress.org/reference/hooks/posts_request/

wp_footer

フッター部分にコードを追加するためのアクションフック。通常はスクリプトやスタイルを追加するために使用されます。

https://developer.wordpress.org/reference/hooks/wp_footer/

wp_head

ヘッダー部分にコードを追加するためのアクションフック。メタタグやスタイルシートを追加する際に使います。

https://developer.wordpress.org/reference/hooks/wp_head/

widgets_init

ウィジェットが初期化される際に実行されるアクションフック。カスタムウィジェットを登録するために使用します。

https://developer.wordpress.org/reference/hooks/widgets_init/

admin_init

管理画面が初期化された後に実行されるアクションフック。管理設定の初期化に使われます。

https://developer.wordpress.org/reference/hooks/admin_init/

shutdown

WordPressの全ての処理が完了した後に実行されるアクションフック。最後のクリーンアップ処理やログの保存に使用されます。

https://developer.wordpress.org/reference/hooks/shutdown/

the_content

投稿のコンテンツが表示される前に実行されるフィルターフック。コンテンツにフィルターを適用するために使用します。

https://developer.wordpress.org/reference/hooks/the_content/

wp_insert_post_data

投稿データがデータベースに挿入される前に実行されるフィルターフック。データの変更を行うのに使用されます。

https://developer.wordpress.org/reference/hooks/wp_insert_post_data/

save_post

投稿が保存される際に実行されるアクションフック。保存時にカスタム処理を行うために使用します。

https://developer.wordpress.org/reference/hooks/save_post/

save_post_{post_type}

特定の投稿タイプの投稿が保存されるときに実行されるアクションフック。特定の投稿タイプ専用の処理を行うために使用します。

https://developer.wordpress.org/reference/hooks/save_post_post-post_type/

edit_post

投稿が編集されたときに実行されるアクションフック。編集処理に関連するカスタムロジックを追加するのに使用されます。

https://developer.wordpress.org/reference/hooks/edit_post/

deleted_post

投稿が削除されたときに実行されるアクションフック。削除処理後のクリーンアップに使用します。

https://developer.wordpress.org/reference/hooks/deleted_post/

switch_theme

テーマが切り替えられたときに実行されるアクションフック。テーマ変更時の設定や処理に使用されます。

https://developer.wordpress.org/reference/hooks/switch_theme/

activete_{プラグインファイル名}

特定のプラグインがアクティブになったときに実行されるフック。プラグインの特定の処理を行うために使用されます。

https://developer.wordpress.org/reference/hooks/activate_plugin/

upload_mimes

サポートするMIMEタイプを変更するためのフィルターフック。アップロードできるファイルタイプを追加または変更します。

https://developer.wordpress.org/reference/hooks/upload_mimes/

default_title

投稿またはページのデフォルトのタイトルを変更するためのフィルターフック。特定の条件でデフォルトタイトルをカスタマイズできます。

https://developer.wordpress.org/reference/hooks/default_title/

user_has_cap

ユーザーの権限を判定するためのフィルターフック。特定の権限を追加または変更するのに使用されます。

https://developer.wordpress.org/reference/hooks/user_has_cap/

rewrite_rules_array

リライトルールを変更するためのフィルターフック。カスタムURL構造を作成するのに使用します。

https://developer.wordpress.org/reference/hooks/rewrite_rules_array/

query

メインクエリが実行される前にフィルタリングされるフック。クエリパラメータを変更できます。

https://developer.wordpress.org/reference/hooks/query/

site_transient_update_themes

テーマの更新情報を保存するためのサイトトランジェントです。テーマのアップデートがあるかどうかを管理するのに使用されます。

pre_set_site_transient_update_themes

テーマの更新情報が保存される前に実行されるフック。更新情報をカスタマイズするために使用されます。

site_transient_update_plugins

プラグインの更新情報を保存するためのサイトトランジェントです。プラグインのアップデートがあるかどうかを管理するのに使用されます。

pre_set_site_transient_update_plugins

プラグインの更新情報が保存される前に実行されるフック。更新情報をカスタマイズするために使用されます。

site_option__site_transient_update_plugins

サイトオプションを使用してプラグインの更新情報を保存します。特定のプラグインの更新を管理するために使用されます。

delete_site_transient_update_plugins

プラグインの更新情報を削除するためのフック。不要な更新情報をクリアするのに使用されます。

site_transient_update_core

コアの更新情報を保存するためのサイトトランジェントです。WordPressのバージョン更新を管理します。

debug_information

デバッグ情報を表示するためのフック。デバッグを行う際に役立つ情報を提供します。

https://developer.wordpress.org/reference/hooks/debug_information/

site_status_tests

サイトの状態チェックを実行するためのフック。WordPressの健康診断に関連するチェックを追加できます。

https://developer.wordpress.org/reference/hooks/site_status_tests/

wp_enqueue_scripts

フロントエンドのスクリプトとスタイルをキューに追加するためのアクションフック。テーマやプラグインで必要なスクリプトやスタイルを読み込む際に使用されます。

https://developer.wordpress.org/reference/hooks/wp_enqueue_scripts/

post_type_link

投稿タイプのリンクを生成する際にフィルタリングを行うフック。カスタム投稿タイプのパーマリンクを変更できます。

https://developer.wordpress.org/reference/hooks/post_type_link/

template_redirect

テンプレートが決定された後に実行されるアクションフック。リダイレクトや404エラー処理などを行う際に使用されます。

https://developer.wordpress.org/reference/hooks/template_redirect/

admin_head

管理画面のヘッダー部分に追加のコードを挿入するためのアクションフック。スタイルシートやスクリプトの追加が可能です。

https://developer.wordpress.org/reference/hooks/admin_head/

admin_menu

管理メニューをカスタマイズするためのアクションフック。管理画面のメニュー項目を追加、変更、削除する際に使用されます。

https://developer.wordpress.org/reference/hooks/admin_menu/

admin_footer

管理画面のフッター部分に追加のコードを挿入するためのアクションフック。管理画面でのスクリプトやHTMLを追加できます。

https://developer.wordpress.org/reference/hooks/admin_footer/

add_meta_boxes

投稿やページのメタボックスを追加するためのアクションフック。カスタムメタボックスの登録に使用されます。

https://developer.wordpress.org/reference/hooks/add_meta_boxes/

manage_{post_type}_posts_columns

特定の投稿タイプの投稿リストの列をカスタマイズするためのフィルターフック。カスタム列を追加できます。

https://developer.wordpress.org/reference/hooks/manage_post_type_posts_columns/

manage_{post_type}_posts_custom_column

特定の投稿タイプのカスタム列にデータを表示するためのアクションフック。カスタムデータの出力に使用されます。

https://developer.wordpress.org/reference/hooks/manage_post-post_type_posts_custom_column/

manage_edit-{post_type}_columns

特定の投稿タイプの投稿リストの列を管理画面で定義するためのフィルターフック。列の追加や削除が可能です。

https://developer.wordpress.org/reference/hooks/manage_post_type_posts_columns/

admin_bar_menu

管理バーのメニューをカスタマイズするためのアクションフック。管理バーにカスタムリンクを追加できます。

https://developer.wordpress.org/reference/hooks/admin_bar_menu/

post_row_actions

投稿リストの各行に表示されるアクションリンクをカスタマイズするためのフィルターフック。追加のアクションリンクを追加できます。

https://developer.wordpress.org/reference/hooks/post_row_actions/

block_editor_settings_all

ブロックエディターの設定をフィルタリングするためのフック。エディターの動作や表示をカスタマイズできます。

https://developer.wordpress.org/reference/hooks/block_editor_settings_all/

enqueue_block_editor_assets

ブロックエディター用のスタイルやスクリプトをキューに追加するためのアクションフック。ブロックエディターのカスタマイズに使用されます。

https://developer.wordpress.org/reference/hooks/enqueue_block_editor_assets/

load-{特定のPHPファイル}

特定のPHPファイルが読み込まれたときに実行されるフック。特定の条件に基づいてカスタム処理を行うのに役立ちます。

https://developer.wordpress.org/reference/hooks/load-page-php/

customize_register

テーマカスタマイザーに新しい設定やコントロールを追加するために使用するフックです。functions.php で使用します。

https://developer.wordpress.org/reference/hooks/customize_register/

customize_preview_init

テーマカスタマイザーのプレビューにスクリプトを追加するためのフックです。通常、リアルタイムプレビューを作成するときに使用されます。

https://developer.wordpress.org/reference/hooks/customize_preview_init/

customize_controls_enqueue_scripts

カスタマイザーのコントロール画面にスクリプトやスタイルを追加するためのフックです。

https://developer.wordpress.org/reference/hooks/customize_controls_enqueue_scripts/

customize_save_after

カスタマイザーの設定が保存された後にフックするアクションです。保存後の処理を行いたい場合に使用します。

https://developer.wordpress.org/reference/hooks/customize_save_after/

wp_mail_content_type

wp_mail()でメールを送信する際のコンテンツタイプ(例: text/plain, text/html)を設定できます。

https://developer.wordpress.org/reference/hooks/wp_mail_content_type/

wp_mail_from

wp_mail()を使用する際の送信元メールアドレスを設定します。

https://developer.wordpress.org/reference/hooks/wp_mail_from/

wp_mail_from_name

wp_mail()でメールを送信する際の送信者名(表示名)を設定します。

https://developer.wordpress.org/reference/hooks/wp_mail_from_name/

wp_mail_failed

wp_mail()が失敗したときにフックされ、エラー情報を取得できます。

https://developer.wordpress.org/reference/hooks/wp_mail_failed/

phpmailer_init

WordPressでメール送信の動作をカスタマイズするためのアクションフックです。WordPressのメール送信関数 wp_mail() は内部的に PHPMailer ライブラリを利用しており、このフックを使うことで wp_mail() のメール送信設定に詳細なカスタマイズが可能になります。

例えば、外部SMTPサーバーを使用する設定をしたり、認証情報を追加して送信者情報を変更したりする場合に役立ちます。

このフックを使うことで、WordPressのメールが指定したSMTPサーバー経由で送信されるようになります。

https://developer.wordpress.org/reference/hooks/phpmailer_init/

comment_moderation_text

コメントモデレーション通知メールの本文をカスタマイズするフィルタです。

https://developer.wordpress.org/reference/hooks/comment_moderation_text/

post_class

投稿またはページの <article> 要素にクラスを追加。

https://developer.wordpress.org/reference/hooks/post_class/

nav_menu_css_class

メニュー項目にクラスを追加。

https://developer.wordpress.org/reference/hooks/nav_menu_css_class/

まとめ

WordPressカスタマイズで使えるアクションフック・フィルターフック一覧(チートシート)についての解説は以上になります。

本記事では、実務に役立つWordPressのフックを厳選して解説し、プラグインやテーマ開発に役立つチートシートとしての機能を意識して構成しました。

初心者の方々には、どのようなフックが存在し、何が可能なのかをイメージしやすくしています。また、上級者の方々には、即座に参考にできる便利なリソースとなることでしょう。

ぜひ、この記事を何度も活用していただければ幸いです。

執筆者

UMENOKI編集部 高澤 翔汰

歴5年目(2024年8月以降から5年目です)のエンジニアです!
CMSでのサイト構築とWebデザイン制作を兼任して5年目になります。
自作のiOSアプリ(iPhoneアプリ)やWordPressプラグインを開発することもあり、まだまだ現在進行形で勉強中です!

お気軽に皆さんのご要望をお聞かせください!

どんなに些細なことでも構いません!よろしければ記事や当サイトへの「こんな記事があったら仕事とかで役に立つな〜」や「こうだったらもっと役に立つのに!」といったようなご要望等をお気軽にお聞かせください!今後のサービス改善にお役立てさせていただきます!

例1)Reactの技術記事を書いてほしい!
例2)WordPressの使い方とかを初心者向けに解説してほしい!...など

送信と同時にプライバシーポリシーに同意したものとします。
サンタさん