wordpressでiframeが無効になる現象を解決する方法

づや


wordpressでiframeが無効になる現象を解決する方法

皆さんこんにちは。株式会社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;
}

とりあえず解決しました。

マルチブログに関しては今まで触れたことがなかったので、知らない仕様がたくさんありそうで恐いですね。

とりあえず当サイトではちゃんと動いている模様です。

ちなみにここが僕の故郷です。周りには見事に何もありません。

づや
この記事を書いた人
づや

取締役

関連記事