● スプレッドIT!

WordPress://管理者以外でもiframeタグが無効にならないようにする方法

WordPressを使っていて、第三者(外注先や在宅ワーカー)に記事の作成をお願いしていないとなかなか気づけないこともあります。

WordPressの権限は、管理者、編集者、投稿者、寄稿者、購読者とあり、マルチブログを利用していると更に特権管理者なるものまで存在します。

正直、どの権限がどのような制限を持っているかを100%熟知するのは至難の技でしょう。

WordPewsas Codexのユーザーの種類と権限」というページにある程度のことは書いてありますが、やはり100%ではありません。

 

さて、本題に入ろうと思いますが、WordPressではセキュリティの観点から、管理者以外の権限ユーザーは「iframe」タグを投稿すると自動的に無効化され、iframeタグ部分が除去されてしまいます。

ということは、Youtube動画の埋め込みや、GoogleMapの埋め込みなんかも除去されてしまうのです。

普段、管理者権限でしか使っていないと、「そんなバカな」と思ってしまいがちですが、事実です。

 

それでは、管理者権限以外でもiframeタグを使えるようにする方法ですが、やはりfunctions.phpを使います。

使用しているテーマ内にあるfunctions.phpに下記の記述を追記してください。

// iframe許可フィルタの登録
add_filter('content_save_pre','allow_save_pre');

function allow_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(), 'allowfullscreen'=>array());

     return $content;
}

これにて無事一件落着です。

これで、よりWordPressでのホームページ制作が、楽しくなりますね!
このエントリーをはてなブックマークに追加