PHP の記述もざっとチェックしたので,次は WordPress 仕様についてチェックしていきます.
フィルター,アクション フックは特徴的な機能みたいなので最初にチェックしてみます.
次のサイトの記事を見るとざっと機能について把握することが出来ました.
とりあえずは詳細な情報より,分かった気になれるまとめられた記事が良いですよね.
参考: WordPressカスタマイズの幅が劇的に広がる、フィルターフックとアクションフックの使い方
簡単にまとめると,あらかじめ定義されている処理タイミングに処理を追加する機能のようです.
では,どういう定義されている処理タイミングがあるかというと,以下のページに書かれているはずです.
参考: プラグイン API/フィルターフック一覧
参考: プラグイン API/アクションフック一覧
サンプルで1つ試してみます.
以下のフィルタを使用してみます.
the_title
画面を表示する前にデータベースから取得した投稿タイトルに適用される。(トラックバックなどの他の操作でも使用)
以下のように WordPress では使用されています.
1
2
3
4
5
| <p class="wp-embed-heading">
<a href="<?php the_permalink(); ?>" target="_top">
<?php the_title(); ?>
</a>
</p> |
<p class="wp-embed-heading">
<a href="<?php the_permalink(); ?>" target="_top">
<?php the_title(); ?>
</a>
</p>
functions.php に以下の処理を追記します.
1
2
3
4
| function my_the_title($title, $id) {
return 'ID='.$id.$title;
}
add_filter('the_title', 'my_the_title', 10, 3); |
function my_the_title($title, $id) {
return 'ID='.$id.$title;
}
add_filter('the_title', 'my_the_title', 10, 3);
WordPress を起動すると記事タイトルの先頭にIDが付加されました.
ここまで,やって以下の疑問が沸きました.
1. 処理は functions.php に追記で良いのか?
2. add_filter() の第4引数を調べる方法は?
apply_filters( 'the_title', $page->post_title, $page->ID )
ここをチェックするしかないのかな?
今後,調べたいと思います.
まぁ,フィルター,アクション フックはなんとなく分かった気になれました.