皆さんこんにちは。株式会社LIG 最高技術責任者のづやです。
ある日、当社スタッフに「このブログのGoogle Mapを記事に埋め込みたいけど、できないよ」と言われました。
試しに僕がやってみたらちゃんと埋め込む事ができたので、何を言ってるんだと思いました。
ですが、よくよく調べてみたらユーザー権限によってフィルターをかけられているようで、iframeタグが有効にならないケースがあると知りました。
ちなみにこのブログのwordpress(3.3.1)はマルチブログで利用しているため、権限が6種類(特権管理者、管理者、編集者、投稿者、寄稿者、購読者)用意されてます。
どの権限でどのタグに制限がかけられているのかがちゃんとわからなかったのですがiframeは特権管理者しか使用できない模様。
とりあえず誰でもiframeを使えるようにすることにしました。
使用してるテーマのfunctions.phpか自作したプラグインに下記を追記します。
// フィルタの登録
add_filter('content_save_pre','test_save_pre');
function test_save_pre($content){
global $allowedposttags;
// iframeとiframeで使える属性を指定する
$allowedposttags['iframe'] = array('class' => array () , 'src'=>array() , 'width'=>array(),
'height'=>array() , 'frameborder' => array() , 'scrolling'=>array(),'marginheight'=>array(),
'marginwidth'=>array());
return $content;
}
とりあえず解決しました。
マルチブログに関しては今まで触れたことがなかったので、知らない仕様がたくさんありそうで恐いですね。
とりあえず当サイトではちゃんと動いている模様です。
ちなみにここが僕の故郷です。周りには見事に何もありません。
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。