WordPressで管理者以外でもiframeなどを使う方法

WordPressは、長らく iframeが利用できませんでした。セキュリティ的には正しいのですが、iframeは意外と Googleカレンダーや YouTubeなどでも利用されており、埋め込みたいものの1つ。

いつからかのバージョンで、埋め込めるようになっていたのですが、今回「自分は平気なのに、違う人はダメ」という珍しいケースに遭遇しました。

いろいろ調べてみると、どうやら WordPress 3.5(それ以前からも?)では、次のような仕様になっているようです。

・「管理者」は比較的さまざまなHTMLを利用できる(どこまで利用できるかは未検証)
・それ以外のユーザーは、ksesのチェックを受ける

という事のようです。ksesは WordPressに内蔵されているフィルタリングの仕組みのようで、ここで許可されていないタグは挿入できないようです。

そこで、iframeを利用できるようにするためには functions.phpに次のように書き込みます。

これでOK。管理者以外のアカウントという部分で、大いにはまりました。。ご注意あれ。

コメントを残す