@EisukeAkimoto あそびながらWordPressのフィルターフックを理解してプラグインにするなんて素敵じゃないですか!
— gatespace(五十嵐和恵) (@gatespace_k) July 16, 2013
タイトルは真面目そうですが、やってることはおもしろいネタで遊んでいるだけです。
WordBench千葉(通称べんちば)界隈では「まゆげ」がブームらしいんで、そのネタにのっかりつつ作ったプラグインの解説です。
プラグイン「Content Mayuge Systems」
Content Mayuge Systemsプラグイン。プラグインを有効化すると本文中の「。」に眉毛がくっつきます。制作時間5分。
https://t.co/Frj2gGx5U3 pic.twitter.com/mSBpJg7lYy— gatespace(五十嵐和恵) (@gatespace_k) July 16, 2013
結局こうなった。つけまゆげhttps://t.co/Frj2gGx5U3 pic.twitter.com/RFqOgWAbas
— gatespace(五十嵐和恵) (@gatespace_k) July 16, 2013
https://gist.github.com/gatespace/6007495
gistからコードをダウンロードしてWordPressのプラグインフォルダにアップロードしてください。
プラグイン「Content Mayuge Systems」を有効化すると、本文中の「。」「まゆげ」「マユゲ」「まゆ毛」「眉毛」に反応して、絵文字がくっつきます。
コード解説
the_content フィルターにフックして(15行目)、
関数に本文を変数として取り込み(16行目)、
本文中にある指定した文字列(17行目)に
絵文字(18行目)を
くっつけるようにして(19行目)、
returnしてWordPress本来の処理に戻しています(20行目)。
the_content フィルターは本文に関するフィルターです。
本文を出力する時に処理を割り込ませるので、プラグインをオフにすれば元通りの投稿になります(データベースを書き換えている訳ではありません)。
http://codex.wordpress.org/Plugin_API/Filter_Reference/the_content
本文内の正規表現によるの検索・置換にはPHPの preg_replace を使います。
あと、フィルターを使う時は結果を必ず return するようにしましょう(echo 等で出力しちゃダメですよ)。
最後にWordPressのプラグインのお作法としてプラグイン名を書いておけば完成です(7〜12行目)。
ふざけているように見えますが、おもしろいと思ったネタで取り組んだ方が、WordPressの関数とかコードとかに理解深まる気がします。
そして、大人にはこういう息抜きも大事なんですよ(たぶん)。