サイトアイコン Gatespace's Blog

おもしろいネタで勉強するフィルターフックとプラグイン

この記事をシェアする

タイトルは真面目そうですが、やってることはおもしろいネタで遊んでいるだけです。
WordBench千葉(通称べんちば)界隈では「まゆげ」がブームらしいんで、そのネタにのっかりつつ作ったプラグインの解説です。

プラグイン「Content Mayuge Systems」

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の関数とかコードとかに理解深まる気がします。

そして、大人にはこういう息抜きも大事なんですよ(たぶん)。

この記事をシェアする