WPtouchでYoutubeなどのiframeコードが本文に含まれる記事の表示が崩れてしまう場合の対処法
【img via Mark.Pilgrim】
先日、WPTouchが表示に関わるアップデートをリリースしたと耳にしたため、テーマを再度修正するのが面倒で見送ってきたアップデートを実施することに!
バックアップを取っていたためデザインの復元は1時間以内に完了したものの、以前悩んでいたiframeが原因で表示が崩れるバグが再発してしまった。
Twitterの過去ログに救われて修正することができたが、今後のためにもWPtouchでYoutubeなどのiframeコードが本文に含まれる記事の表示が崩れてしまう場合の対処法をメモしておく!
gori.meのモバイルテーマに何が起きていたか
iframeが記事内に含まれると表示が崩れる、という状況は以下のスクリーンショットで説明する。
世にも奇妙な競技!イギリスに「スネ蹴り(Shin-Kicking)」という謎のスポーツが存在するらしい!という記事にはアイキャッチ画像の他、本文中にYouTube動画を埋め込んでいるのだが、以下にある通りアイキャッチ画像が元のサイズのまま表示されてしまっている。
さらに記事タイトル下に設置してあるはてなブックマークボタンが表示されていない。
これは以前も同じことで悩んでいたのだが、その際に友人がソースコードを調べて以下のように教えてくれた!持つべきものは友…。
@planetofgori core.js:121でyoutubeとかへのiframeに対してunwrap(対象の親要素の削除)をかけてるんだけど、江南スタイルのiframeはdiv#singlentry直下にあるから、そのときにdiv#singlentryが削除されてる。
— Shotaro Osakiさん (@sfc) 2012年11月11日
つまり、「wptouch/themes/core/core.js」の121行目にある「$wpt( this )」のあとに記載されている「.wrap()」を削除することによって解決されるということ!削除後は以下のような記述になるはず。
$wpt( allVideos ).each( function(){ $wpt( this ).addClass( 'wptouch-videos' ).parentsUntil( '.content', 'div:not(.fluid-width-video-wrapper), span' ).removeAttr( 'width' ).removeAttr( 'height' ).removeAttr( 'style' ); });
これでキャッシュをクリアして読み込み直すと表示が崩れていた画像の表示も元通り!
僕が既存テーマをゴリゴリいじっているせいでこのようなことが起きてしまっているのかもしれないが、もし同じような問題に直面している人がいたら試してみるべし!
WordPressで読み込み速度1秒台を実現するために実施した5つの施策 | gori.me
ページの読み込み速度を劇的に改善!CloudFlareとW3 Total Cacheを組み合わせて高速化する方法 | gori.me
表示速度を劇的に向上する、無料のCDNサーバー「CloudFlare」は導入必須だ!! | gori.me
もっと読む

WordPress.com運営元のAutomattic、Day Oneを買収

WordPress.com運営元のAutomattic、Tumblrを買収へ

WordPressの投稿画面のフォントを変える方法(全角・半角が識別可能に)

Facebook、「Instant Articles」対応用プラグインを提供へ

「WordPress 4.4」、埋め込みカード機能を実装!デザインのカスタマイズや無効化する方法

「Simple GA Ranking」で「OAuth2」認証を設定する方法

【WordPress】記事一覧の1ページ目と2ページ目以降のデザインを変更する方法

稼働中のテーマを修正したい時、変更箇所をログインユーザーしか見せないようにする記述が超便利!

CloudFlareを利用しているサイトでShareHTMLが使えないサイトは「Rocket Loader」の設定をチェック!

月額5ドルで安心感を!WordPressブログを毎日自動的にバックアップしてくれる「VaultPress」を契約してみた!

WordPressでカテゴリ一覧を取得する方法!デザインしやすい形で出力する記述

「ページトップへ戻る」ボタンを実装するjQueryプラグイン「scrollUp」を導入した

Sixcore(シックスコア)に「WordPress国外IPアクセス制限」機能が追加されていた!

サーバー容量対策!過去のリビジョンをワンクリックで削除してくれるWordPressプラグイン「Better Delete Revision」

サーバー容量圧迫を事前に回避!WordPressのリビジョン機能を停止する方法

ドメインの年齢や取得年度など、ドメイン情報を簡単に調べる方法

大手メディアも実装済み!WordPressの個別記事ページに「次の記事」「前の記事」のリンクを表示する方法

WordPressで読み込み速度1秒台を実現するために実施した5つの施策

ページの読み込み速度を劇的に改善!CloudFlareとW3 Total Cacheを組み合わせて高速化する方法
