WordPressはver.2.9以降、YoutubeなどのメディアサイトのURLの埋め込みが簡単になりました。
URLを貼り付けるだけでOK、ってWordPressユーザの多くはすでにご存知で、この機能を使っている方も多いはず。
ところで!WordPress › Jetpack by WordPress.com « WordPress Pluginsにも「ショートコード埋め込み」という類似の機能があります。
先日にようやくJetPackを使い出した自分は、この2つの機能の相性の悪さに翻弄される羽目となってしまったのです・・・。
その症状から原因解明・解決までをまとめました。
Sponsored Link
なお、今回の検証の環境は以下の通りで、現時点での最新版です。
- WordPress 3.6.1
- JetPack 2.5
WordPressのメディア埋め込み機能とは
簡単に説明すると、
http://www.youtube.com/watch?v=xxxxxxxxxxxx
のようなYoutubeのURLをそのままWordpressの投稿欄に直貼りするだけで動画の埋め込みになるというものです。
iframeとか長いURL埋め込みコードをいじらなくて済みます。
また、その埋め込みプレーヤのサイズは自動的にそのWordPressで使っているテーマのデフォルトコンテンツサイズの横幅にしてくれます。つまり、テーマを変えるような場合にも余計なことを考えないで済むということです。
これも大きなメリットだと思います。
この機能についてはoEmbed – WordPress Codex 日本語版に詳細に書かれているので、ご一読ください
JetPackのショートコード埋め込み機能とは
ショートコード埋め込みについて、JetPack上では
ショートコードを使えば簡単かつ安全に外部メディアをサイトに埋め込めます。シンプルなコード一つで、WordPress に YouTube、Flickr などのメディアを埋め込むよう指定できます。
投稿または固定ページエディターにショートコードを直接入力し、メディアを埋め込みます。詳しい方法については以下のリンクをご覧ください。
と説明されていますが、具体的には
[youtube http://www.youtube.com/watch?v=xxxxxxxxxxxx]
と記入すれば動画が埋め込まれます。
Youtubeをはじめとする対応メディアサイトは以下の通り。
archives,audio,blip.tv,dailymotion,flickr,scribd,slideshare,
soundcloud,vimeo,youtube,polldaddy,wpvideo(VideoPress)
もっと詳しい説明はYoutubeについてはYouTube — Support — WordPress.comに書かれています。
起きた不具合とは
自分は以前からWordPressにYoutubeのURLを直貼していました。それはWebページ上では以下の様なコードで動画が埋め込まれ、もちろんテーマのデフォルトコンテンツ幅の550pxで表示されていました。<p><iframe src="http://www.youtube.com/embed/xxxxxxxxxxx?feature=oembed" allowfullscreen="" frameborder="0" height="413" width="550"></iframe></p>
しかし、それがいつの間にか以下の様なコードになっており、横幅は468pxになっていました。<p><span class="embed-youtube" style="text-align:center; display: block;"><iframe class="youtube-player" type="text/html" src="http://www.youtube.com/embed/xxxxxxxxxxx?version=3&rel=1&fs=1&showsearch=0&showinfo=1&iv_load_policy=1&wmode=transparent" frameborder="0" height="294" width="468"></iframe></span></p>
つまり、Youtubeのプレーヤがいつもよりもひと回り小さく表示されていて、異常に気が付いた訳です。
width=”468″ってなんなの!
原因は
結局は、しばらく前に導入したJetPackのショートコード埋め込み機能がいつの間にか有効になっていたことが原因でした。有効にした覚えはないのですが、その機能の確認のために説明を見たりしていた時に有効にしてしまったようです。
JetPackのショートコード埋め込み機能を無効にしたら、完治しましたよ。
つまり、JetPackのショートコード埋め込み機能が有効な状態でYoutube等のサイトのURLを直書きしていると、機能が誤動作してしまうようです。この症状は再現性がありました。
似た機能だからこういうことが起きるんでしょうが、そもそもJetPackにはもうこの機能はいらないのではないでしょうか?
埋め込みサイズの変更はWordPress単体でも簡単にできるんだし・・・。
ということで、WordPressのメディア埋め込み機能を使っていて、最近埋め込まれた動画のサイズがおかしい・・・という方、JetPackを使っていたらそのショートコード埋め込み機能の設定の確認をお試しあれ!