WordPressカスタマイズで使えるアクションフック・フィルターフック一覧(チートシート)
みなさんこんにちは!エンジニアの高澤です!
今回はWordPressカスタマイズで使えるアクションフック・フィルターフック一覧(チートシート)について解説していきたいと思います。
当記事ではとにかく仕事で使えるWordPressフックを厳選して解説し、プラグイン開発やテーマ開発でいつでも使用できるチートシートとしての役割を意識して構成いたしました。
初心者の方にはどんなフックがあるのか、どんなことができるのかのイメージを掴めることができ、上級者の方にはすぐにカンニングすることができるツールとなっていることと思います。
よろしければ、当記事を繰り返しご活用いただけましたら幸いです。
目次
- 1 フックとは
- 2 カスタマイズで使えるフック一覧
- 2.1 plugin_loaded
- 2.2 after_setup_theme
- 2.3 init
- 2.4 wp_loaded
- 2.5 wp
- 2.6 do_parse_request
- 2.7 query_vars
- 2.8 request
- 2.9 parse_request
- 2.10 parse_query
- 2.11 pre_get_posts
- 2.12 template_redirect
- 2.13 {$type}_template
- 2.14 template_include
- 2.15 register_activation_hook
- 2.16 register_deactivation_hook
- 2.17 register_uninstall_hook
- 2.18 posts_join
- 2.19 posts_where
- 2.20 posts_search
- 2.21 posts_orderby
- 2.22 posts_groupby
- 2.23 posts_distinct
- 2.24 post_limits
- 2.25 posts_fields
- 2.26 posts_clauses
- 2.27 posts_request
- 2.28 wp_footer
- 2.29 wp_head
- 2.30 widgets_init
- 2.31 admin_init
- 2.32 shutdown
- 2.33 the_content
- 2.34 wp_insert_post_data
- 2.35 save_post
- 2.36 save_post_{post_type}
- 2.37 edit_post
- 2.38 deleted_post
- 2.39 switch_theme
- 2.40 activete_{プラグインファイル名}
- 2.41 upload_mimes
- 2.42 default_title
- 2.43 user_has_cap
- 2.44 rewrite_rules_array
- 2.45 query
- 2.46 site_transient_update_themes
- 2.47 pre_set_site_transient_update_themes
- 2.48 site_transient_update_plugins
- 2.49 pre_set_site_transient_update_plugins
- 2.50 site_option__site_transient_update_plugins
- 2.51 delete_site_transient_update_plugins
- 2.52 site_transient_update_core
- 2.53 debug_information
- 2.54 site_status_tests
- 2.55 wp_enqueue_scripts
- 2.56 post_type_link
- 2.57 template_redirect
- 2.58 admin_head
- 2.59 admin_menu
- 2.60 admin_footer
- 2.61 add_meta_boxes
- 2.62 manage_{post_type}_posts_columns
- 2.63 manage_{post_type}_posts_custom_column
- 2.64 manage_edit-{post_type}_columns
- 2.65 admin_bar_menu
- 2.66 post_row_actions
- 2.67 block_editor_settings_all
- 2.68 enqueue_block_editor_assets
- 2.69 load-{特定のPHPファイル}
- 2.70 customize_register
- 2.71 customize_preview_init
- 2.72 customize_controls_enqueue_scripts
- 2.73 customize_save_after
- 2.74 wp_mail_content_type
- 2.75 wp_mail_from
- 2.76 wp_mail_from_name
- 2.77 wp_mail_failed
- 2.78 phpmailer_init
- 2.79 comment_moderation_text
- 2.80 post_class
- 2.81 nav_menu_css_class
- 3 まとめ
フックとは
フックとは、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_template
やpage_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/
フッター部分にコードを追加するためのアクションフック。通常はスクリプトやスタイルを追加するために使用されます。
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/
管理メニューをカスタマイズするためのアクションフック。管理画面のメニュー項目を追加、変更、削除する際に使用されます。
https://developer.wordpress.org/reference/hooks/admin_menu/
管理画面のフッター部分に追加のコードを挿入するためのアクションフック。管理画面でのスクリプトや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/
管理バーのメニューをカスタマイズするためのアクションフック。管理バーにカスタムリンクを追加できます。
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/
メニュー項目にクラスを追加。
https://developer.wordpress.org/reference/hooks/nav_menu_css_class/
まとめ
WordPressカスタマイズで使えるアクションフック・フィルターフック一覧(チートシート)についての解説は以上になります。
本記事では、実務に役立つWordPressのフックを厳選して解説し、プラグインやテーマ開発に役立つチートシートとしての機能を意識して構成しました。
初心者の方々には、どのようなフックが存在し、何が可能なのかをイメージしやすくしています。また、上級者の方々には、即座に参考にできる便利なリソースとなることでしょう。
ぜひ、この記事を何度も活用していただければ幸いです。
お気軽に皆さんのご要望をお聞かせください!
どんなに些細なことでも構いません!よろしければ記事や当サイトへの「こんな記事があったら仕事とかで役に立つな〜」や「こうだったらもっと役に立つのに!」といったようなご要望等をお気軽にお聞かせください!今後のサービス改善にお役立てさせていただきます!
例1)Reactの技術記事を書いてほしい!
例2)WordPressの使い方とかを初心者向けに解説してほしい!...など