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

Kazuya Takato

Kazuya Takato

皆さんこんにちは。株式会社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サイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。

Webサイト制作の実績・料金を見る

この記事のシェア数

Kazuya Takato
Kazuya Takato 取締役 COO 兼 CTO / DX事業本部長 / 高遠 和也

1983年生まれ。SIerとしてのキャリアをスタートし、JavaやC#を中心に多岐にわたる開発プロジェクトにエンジニアとして参加。その経験を活かし、LIGを創業。バックエンドおよびフロントエンドエンジニアとしての深い知識と経験をもとに、多様なプロジェクトに従事。現在は、取締役COO兼CTO、DX事業本部長として、社内の体制やルールの最適化、AI技術の推進など、経営戦略の一翼を担う。

このメンバーの記事をもっと読む
デザイン力×グローバルな開発体制でDXをトータル支援
お問い合わせ 会社概要DL