ワードプレスで記事を書いていて、初めて Youtube の動画を埋め込んでみました。
ちなみに iframe タグです
しかし、反映した記事を見てみると動画の部分が表示されない・・・。
記事を書く際にエディタは「テキスト」モードにしているので、html のタグは問題なく表示されるはずです。
これは Nginx の設定か、ワードプレス側の設定の問題のどちらかが怪しいということで調べてみました。
Nginxの設定
ワードプレスはレンタルサーバではなく自分でサーバを立てて構築しているので、何か設定ミスがあるとすれば気が付くはずです。
詳しくは「ワードプレスをNginxのFastCGIキャッシュを使って高速化」をご覧ください。

しかし、これまでのサイト構築で iframe が埋め込めなかったことはないのでこの線は薄いと判断し、先にワードプレスの設定を確認することにしました。
WordPressの設定
ワードプレスでは JIN という有料のテーマを使用していますが、テーマに関係なくデフォルトの設定で iframe が許可されている可能性は強そうです。
しかし、テーマの編集をしないとワードプレスのコアなファイルは触れないので、ここはテーマのバージョンアップの時に上書きされてしまうことも考慮したうえで function.php を触ります。
ワードプレスメニューの「外観」から「テーマの編集」を選択します。
ここで、function.php を選択して、最後に以下のロジックを追加して「ファイルを更新」ボタンを押下します。
1 2 3 4 5 6 7 8 | <?php (途中省略) // 以下を追加 function extended_enable_elements($init) { $init['extended_valid_elements']="iframe[src|width|height|name|align|style|scrolling|marginwidth|marginheight|frameborder]"; return $init; } ?> |
これで、Youtube の埋め込みタグも表示されるようになります。