WordPressでフィルターフックを使ってみよう!

前回はアクションフックを使って、投稿保存時に特定の操作をする方法などについて紹介しました。今回はもう一つのフックであるフィルターフックについて見ていきます。

 

アクションフックは、投稿時や管理画面生成時などのアクションに対して、実行されますが、フィルターフックはデータに対して何か操作をします。

 

フィルターフックの場合はadd_filter()を使います。書き方はアクションフックと同じで第1引数にフック名、第2引数に関数、第3引数に実行順序、第4引数に関数に渡す引数の数を指定します。

まずは、編集画面で表示する内容を変更してみましょう。

the_title()を使います。

 

いつも通り、my-plugin.phpにつけたします。

function add_id_title($title, $id) {     return 'ID='.$id.$title; }add_filter('the_title', 'add_id_title', 10, 2);


実行して、投稿一覧を確認してみましょう。

こんな感じで ID がタイトルの前に付け加えられているのがわかります。

f:id:success-seed:20200417114228p:plain

このように、表示する前にデータを取得して、表示内容を変更できます。