WordPressでGoogleマップを埋め込めなくなったっす!
それはもしかしてWordPress権限が「管理者」以外じゃないか?
「編集者」になってるっす。
WordPressでは「管理者」以外ではGoogleマップは埋め込みNGだ。今回は回避策を伝授しよう。
なぜ「管理者」以外では埋め込みができないのか
WordPressではなぜ「管理者」以外、「編集者」権限以下ではGoogleマップを埋め込みができないのか。
このような仕様になっているのは、おそらくセキュリティの観点から対策だと思われる。
Googleマップを埋め込むためには、「iframeタグ」と呼ばれるものを入力することで表示させている。このiframeタグが悪用される危険性があるのだ。
その危険性を簡単に説明すると、実際に表示されている画面と異なる操作を実行してしまう可能性があるからだ。
↓詳しい内容は下記記事を参考にしてほしい。↓
今回紹介する方法は、WordPressでメディア展開に力を入れている際に必要となるカスタマイズ。
以下は実際にありそうなパターン。
記事を投稿する外部ライターに与えたアカウントの場合
グルメ記事にお店のGoogleマップを表示させたいとき
Googleマップを埋め込めるカスタマイズをしていない場合は、外部ライターに「管理者」権限を与えることになってしまう。「管理者」権限では操作できるWordPressの範囲が広いので表示ができなくなるなどの不具合の原因にもなりかねない。
だからと言って「管理者」アカウントを所持している社内のメンバーのリソースは割けないなどの背景もあるだろう。
非常に難しい問題だが、運営方法を鑑みて導入を決めてほしい。
「編集者」以下でも埋め込み可能にする方法
現在利用中のWordPressテーマ(子テーマ)の「function.php」に以下の内容を追記してください。
/*Googleマップ埋め込み許可*/
add_filter('content_save_pre','iframe_save_pre');
function iframe_save_pre($content){
global $allowedposttags;
$allowedposttags['iframe'] = array('class' => array () , 'src'=>array() , 'width'=>array(),
'height'=>array() , 'frameborder' => array() , 'scrolling'=>array(), 'marginheight'=>array(),
'marginwidth'=>array());
return $content;
}
※必ずバックアップを準備してから実施してください。
まとめ:編集者以下にGoogleマップを埋め込み許可はセキュリティとのトレードオフ
最後に『管理者権限以外だとGoogleマップを埋め込み不可?』に関する結論を。
- セキュリティ観点から標準では禁止されている
- 複数人で管理(記事投稿)する場合なら導入もアリ