Blogaomu

WEBアプリケーション開発とその周辺のメモをゆるふわに書いていきます。

WordPress フィルターのデフォルトの処理の在り処

WordPressを使った開発をしているときに、ふとthe_contentというフィルターがどのような処理を投稿テキストに加えているのか気になりまして、処理を定義している箇所をWordPressのコアの部分から探しておりました。

grepした結果wp-includes/default-filters.phpにてadd_filter( 'the_content', 'hogehoge' )のようなコードが見つかりました。しかし、この時私はfunction the_content()という定義があるんだと勘違いしており、さらにgrepを続けていました。しかしそんなものはあるはずもありません。もう一度codexを読みなおして、add_filterでフックする関数を追加しているのだからそこで定義している名前の関数を見つければ処理が書いてある、と推測しました。

推測に自信がなかったので、困ったときのTwitter

うっすら拾ってくれるといいなと思っていたところ、WPの師匠 @jim0912 さんから教えていただきました。ありがとうございました!

というわけで、フィルターのデフォルトの処理が気になる人はwp-includes/default-filters.php(※他にも定義している箇所がある)でadd_filterしている関数の中身を見るといいんじゃないかと思います。ちなみにthe_contentにフックしている関数はwp-includes/fomatting.phpなどに定義されています。

追記

ブログ書いた後に@jim0912さんからまたもや情報をいただきました、ありがとうございます。このアフターケアはさすがですね。

参考