WordPressのフックの仕組みと使い方について

WordPressのフックの仕組みと使い方についてWordPress

この記事ではWordPressのフックの仕組みとその使い方について説明しています。

 

そもそもWordPressのフックとは何?

WordPressで実行され、ページが表示されるまでの間のタイミングで、事前に登録された処理を実行させることができる仕組みのことをフックと言います。

 

WordPressがページを表示する際には、まず index.phpstyle.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 の公式ドキュメントで以下を参照してください。

関数リファレンス/add filter - WordPress Codex 日本語版

 

WordPressのフックは2種類ある

WordPressのフックには、

  1. フィルターフック
  2. アクションフック

の2種類があります。

 

先ほど説明した add_filter がフィルターフックに該当します。その一方でアクションフックに当たるのが add_filter です。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 の公式ドキュメントで以下を参照してください。

関数リファレンス/add action - WordPress Codex 日本語版

 

WordPressのフックについてのまとめ

ここまでWordPressにおけるフックの仕組み、使い方について説明してきました。

  • フック・・・ページが表示されるまでの間のタイミングで、事前に登録された処理を実行させることができる仕組み
  • WordPress本体のコードを変更せずにカスタマイズできる(WordPressのバージョンアップによって上書きされない)
  • フックは2種類
    • フィルターフック(add_filter)
    • アクションフック(add_action)

 

フックの仕組みをもっと詳しく知りたいという方は、公式ドキュメントのCodexを参考にしましょう。

 

参考になった本

 

詳細記事

『ビジネスサイトを作って学ぶWordPressの教科書 Ver.5.x対応版』の感想
この記事では『ビジネスサイトを作って学ぶWordPressの教科書 Ver.5.x対応版』についての感想やポイントを紹介しています。

 

コメント