この記事では、WordPressのフックの仕組みとその使い方について説明しています!
そもそもWordPressのフックとは何か
「WordPressで実行され、ページが表示されるまでの間のタイミングで、事前に登録された処理を実行させることができる仕組み」のことをフックと言います。
WordPressがページを表示する際に、まずindex.php
、style.css
ファイルが必要になります。最低限その2つのファイルがあれば、ページを表示させることができます。
また、index.php
ファイルが読み込まれ、そこから様々なファイルが読み込まれていきます。
ここで読み込まれているファイルは「コアファイル」と呼ばれており、WordPressアップデート時に上書きされてしまいます。
つまり、コアファイルをカスタマイズしても上書きされてしまうということです。

そこで登場するのが「フック」です!
WordPressのフックを使った例
例として、タイトルを表示する際の独自の処理を「フック」を使って、実現する方法を下記に記載しました。
function display_title( $title, $id = null) {
return $title;
}
add_filter('the_title', 'display_title', 10, 2);
タイトルを出力する前に、 the_titleにフックして、display_titleを差し込むことによって出力するタイトルをカスタマイズすることができます。
上記ではまず、タイトルを返す「display_title」という関数を定義しています。その後の「add_filter」については以下のような使い方です。
add_filter(第二引数で指定した関数を登録するフィルターフック名, フィルターが適用時に呼び出される関数名, フィルターフックに登録された関数の中での実行順序, 関数を受け取る引数の個数)
add_filterの詳しい使い方については、WordPressの公式ドキュメントを確認してみてください。
WordPressのフックには2種類ある
WordPressのフックには、2種類あります!
- フィルターフック
- アクションフック
先ほど説明した add_filterがフィルターフックに該当します。
その一方で、アクションフックに当たるのが「add_action」です。add_actionの使い方を下記に示しました。下記のコードは、ブログ投稿時に特定の友人にメールを送信する処理です。
function send_email( $post_ID ) {
$friends = 'example1@example.com, example2@example.com';
wp_mail( $friends, "exampleブログを更新しました", 'https://blog.example.com' );
return $post_ID;
}
add_action( 'publish_post', 'send_email' );
add_actionの使い方に関しても以下に示しました。add_filterの使い方とほとんど同じです。
add_action(第二引数で指定した関数を登録するアクションフック名, アクションフック適用時に呼び出される関数名, アクションフックに関連づけられている関数の中での実行順序, フックした関数を受け入れることができる引数の個数)
add_actionの詳しい使い方についても、WordPress の公式ドキュメントで確認してみてください。
まとめ|WordPressのフックの仕組みと使い方について
ここまで、「WordPressのフックの仕組みと使い方」について書いてきました。
- フック
- ページが表示されるまでの間のタイミングで、事前に登録された処理を実行させることができる仕組み
- WordPress本体のコードを変更せずにカスタマイズできる(WordPressのバージョンアップによって上書きされない)
- WordPressのフックは2種類ある
- フィルターフック(add_filter)
- アクションフック(add_action)
以上、最後まで読んでいただきありがとうございました!
コメント