[WordPress] リッチエディタこと TinyMCE がオレの iframe を削ってしまうぜ。

TinyMCE 設定

困ったんで調べると、

tinymce の設定こと tiny_mce_config.php に、tinymce のマニュアルにしたがって valid_elements か extra_valid_elements を追加しろ

とあるんだけど、そんなファイル無いよ WordPress 2.7 !!

切なくなって phpgrep したりしてたら、/wp-admin/includes/post.php の後ろの方にさらーっとコメントで、

tinymce のオプション用の配列$initArrayのためにtiny_mce_before_initフィルターを用意しておくから、勝手に add_filter して内容いじってよ。

って書いてある。おいーっ。今やってる作業だとオリジナルプラグインを一発でっち上げているので、そこに下記を追記。

function addValidElements( $initArray ) {
    $initArray['extended_valid_elements'] = 'iframe[align<bottom?left?middle?right?top|class|frameborder|height|id|longdesc|marginheight|marginwidth|name|scrolling<auto?no?yes|src|style|title|width]';
    return $initArray;
}
add_filter('tiny_mce_before_init', 'addValidElements');

うーん、良いんだけど、ここにたどり着くのにソース見てる自分が愚かしい…。WordPress の森は深い…。