PlusOne Blog

【wordpress】投稿ページにiframeタグを挿入する

wordpressの投稿ページに他のHTMLを埋め込むために <ifarme> タグを挿入しても、
タグが挿入できません。
これは、権限によって<ifarme> にフィルターをかけているため、管理者・編集者・寄稿者の投稿ページには<ifarme> タグを挿入できません。
 
これをどの権限者でもiframeのフィルターを外すために、下記記述をfunction.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;
}

 
これで、管理者・編集者・寄稿者の投稿ページでも、 <ifarme> タグを挿入することができます。
 
 

コードの解説

 

add_filter('content_save_pre','test_save_pre');

フィルターフック:content_save_pre
 投稿コンテンツをデータベースに保存する前に適用される(添付にも使われる)。
 

global $allowedposttags;

// iframeとiframeで使える属性を指定する
$allowedposttags['iframe']=array('class'=>array(),'src'=>array(),
  'width'=>array(),'height'=>array(),'frameborder'=>array(),
  'scrolling'=>array(),'marginheight'=>array(),'marginwidth'=>array());

グローバル変数:$allowedposttags
 投稿時に有効なHTMLタグを連想配列(キー名が’a’や’h1’などのHTMLタグ名)で格納している。投稿(保存)時にこの中に定義されていないHTMLタグは除去される。

この記事を読む
記事一覧に戻る