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タグは除去される。