SlideShare a Scribd company logo
Implementations of
Responsive Images to
WordPress, and 4.4
レスポンシブ・イメージのWordPressへの実装と4.4
Toru Miki @ WordCamp Tokyo 2015
31 October 2015
Toru Miki
Toru / @waviaei
• WordPress Community
• 日本語版やCodex、WordCamp等のイベントでの翻訳・通訳
• コアへのコミット
• WordCamp Tokyo 2011 実行委員長
• WordPress Meetup Tokyo 共同オーガナイザー

http://www.meetup.com/WordPress-Meetup-Tokyo/
• 仕事
• テンプル大学ジャパンキャンパス ー ウェブサイトの運営・構築
レスポンシブ・イメージのWordPressへの実装と4.4
レスポンシブ・イメージ
のおさらい
レスポンシブ・ウェブデザイン
における画像の問題
• 課題
• 各種条件に合うよう作成された画像を、条件に応じて、必要な
画像のみ取得して表示したい
• 解決策
• レスポンシブ・イメージ
• 解決策の実装手段の1つ
• HTMLの仕様と、ブラウザのサポートによるネイティブ実装
HTML 5.1 working draft:

srcset 属性 & sizes 属性
<img src="./coffee.jpg" alt="珈琲の写真"
srcset="./cofee_300.jpg 300w,
./coffee_700.jpg 700w,
./coffee.jpg 1200w"
sizes="(max-width: 700px) 100vw,
(max-width: 1200px) calc(100vw * 0.8),
960px" />
<img src="./coffee.jpg" alt="珈琲の写真"/>
• sizes = "(メディアクエリ) 画像が占める表示領域の割合"
• vw = Viewport Width
Further Reading
• Responsive Image 101: Part 1~10

http://blog.cloudfour.com/responsive-images-101-definitions/
• Using Responsive Images (Now) · An A List Apart Article 

http://alistapart.com/article/using-responsive-images-now
• レスポンシブWebデザイン – Rriver

http://parashuto.com/rriver/category/responsive-web
• srcset と sizes 

http://terkel.github.io/srcset-sizes/
WordPressへの
レスポンシブ・イメージの
実装
レスポンシブ・イメージのWordPressへの実装と4.4
レスポンシブ・イメージのWordPressへの実装と4.4
経緯
• 2014-04-03:Tim Evko が CSS-Tricks に記事を寄稿「Hassel Free
Responsive Images for WordPress」
• 2014-10:その後、RICG (= Responsive Images Community Group) 公式
のプラグインとして開発がスタート。コアへの実装を目指す
• 2015-09-30: WordPress 4.4 へのマージ・プロポーザル
• 2015-10-06:Changeset 34855 - Merge the Responsive Images feature
plugin into core, initial commit.
• 2015-10-22:WordPress 4.4 beta 1
Further Reading
• Hassle Free Responsive Images for WordPress | CSS-Tricks 

https://css-tricks.com/hassle-free-responsive-images-for-wordpress/
• ResponsiveImages.org 

https://responsiveimages.org/
• WordPress › RICG Responsive Images « WordPress Plugins 

https://wordpress.org/plugins/ricg-responsive-images/
• WordPress › Responsive Images: Merge Proposal « Make WordPress Core 

https://make.wordpress.org/core/2015/09/30/responsive-images-merge-proposal/
• Changeset 34855 – WordPress Trac 

https://core.trac.wordpress.org/changeset/34855
• WordPress › WordPress 4.4 Beta 1 

https://wordpress.org/news/2015/10/wordpress-4-4-beta-1/
導入方法
• プラグイン:インストールして有効化するだ
けでOK
• 4.4:デフォルトで有効化されている
• 専用の設定画面・項目などは無し
• ユーザーが新たに学ぶ必要がある操作は無し
仕組み
• the_content フィルターを利用して img に srcset と sizes が追加され
る
• /wp-uploads/ に存在する画像にのみ適用
• 同じ比率のバリエーションが存在する場合にのみ適用
• 以前にアップされた画像にも適用される
• ギャラリーの画像や、サムネイル画像(the_post_thumbnail() 等)に
も適用される
• ポリフィルは Picturefill 2.3.1
//プラグインあり
<img
class="alignnone size-large wp-image-12"
src="~/K5TM2883_LR5-1024x678.jpg"
alt="K5TM2883_LR5" width="660" height="437"
srcset="~/K5TM2883_LR5-300x199.jpg 300w,
~/K5TM2883_LR5-1024x678.jpg 1024w,
~/K5TM2883_LR5.jpg 1200w"
sizes="(max-width: 660px) 100vw, 660px" />
// プラグインなし
<img
class="alignnone size-large wp-image-12"
src="~/K5TM2883_LR5-1024x678.jpg"
alt="K5TM2883_LR5" width="660" height="437" />
出力されるコード
実装する際のポイント
• しかし、レスポンシブ・イメージをより効果
的に実装するには、なかなか難しい…
• アップロードする画像のサイズと、自動生
成される画像のバリエーションの見直し
• sizes 属性の適切な設定
アップロードする画像のサイズと、自動
生成される画像のバリエーションの見直し
• 検討しなければならない要因が多い!
• フルサイズ、大、中、サムネイルだけで足りるの
か?
• 各ブレイクポイントにおける画像の最大幅は?
• ファイルサイズは?
• ファイル数は?
sizes 属性の適切な設定
• 各テーマにおける、全ての画像のメディアク
エリーと幅デスクリプタを自動的に取得する
事ができない
• (max-width: {{image-width}}) 100vw,
{{image-width}}
• 適切な sizes の設定を行う必要がある
sizes の値をフィルターする
function custom_sizes( $sizes ){
$sizes = '(max-width: 680px) 100vw,
(max-width: 920px) calc(100vw * 0.70),
(max-width: 1160px) calc((100vw - 20px) * 0.742),
680px';
return $sizes;
}
add_filter( 'wp_get_attachment_image_sizes', 'custom_sizes', 11 );
• プラグインでは:tevkori_image_sizes_args(string ではなく array)
apply_filters( 'wp_get_attachment_image_sizes', $sizes, $size,
$image_meta, $attachment_id );
4.4 ではできないこと
• Imagick を利用したより高品質かつ効果的な画像の
リサイズ機能(Advanced Image Compression)

 4.4でのマージは見送り
• srcset 属性の x デスクリプタや、アートディレクショ
ンに向いている picture 要素と source 要素は未対応

   今後の開発次第
まだまだ絶賛開発中…!
• https://make.wordpress.org/core/tag/respimg/
• https://github.com/ResponsiveImagesCG/wp-tevko-responsive-images
• Slack #feature-respimg
• WordPress Trac
• #34528 (Responsive Images: Don't add srcset attributes to animated
gifs.)
• #34430 (Improve the performance of
wp_make_content_images_responsive())
• #34359 (Cache output of `wp_upload_dir()` to improve performance)
24.8+%
of the web
Thank you!
@waviaei

http://waviaei.com

waviaei@gmail.com

More Related Content

PDF
初心者でもすぐできる Wordpress バックアップのススメ
PDF
Learning from theme review requirements
PDF
「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜
PDF
WordPressで行う継続的インテグレーション入門編
PDF
airyのご紹介
PPTX
WordCamp Kansai 2015 ハンズオン - 踏み出してみよう!翻訳の第一歩 #wck2015
PPTX
An example of how to make the accessibility ready theme
PDF
Word pressはじめの一歩 テーマ作成ハンズオン
初心者でもすぐできる Wordpress バックアップのススメ
Learning from theme review requirements
「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜
WordPressで行う継続的インテグレーション入門編
airyのご紹介
WordCamp Kansai 2015 ハンズオン - 踏み出してみよう!翻訳の第一歩 #wck2015
An example of how to make the accessibility ready theme
Word pressはじめの一歩 テーマ作成ハンズオン

What's hot (20)

PDF
WordCamp Kansai 2015 プレイベント「コントリビューターデイ」
PDF
WP-CLIとWordPress公式ディレクトリを活用した爆速サイト構築術 ーインストールからデザイン、ページ作成までを10分でー
PDF
WordPressで行う継続的インテグレーションのススメ
PPTX
WordCamp Kansai 2015 発表資料
PDF
WorcCamp Kansai 2015 LT大会
PDF
WordPressで行うシステム開発 WordCamp Tokyo 2015用
PDF
WP-CLI (WordBench Sendai 20140628)
PDF
WP REST API の活用事例と今後
PPTX
Hands on PhotoBlog App with WordPress REST API and App Inventor
PDF
WordCampKansai 2015 公式ディレクトリへの􏰀 テーマ掲載とビジネスモデル
PDF
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
PDF
ノンプログラマーのためのWordPressプラグイン開発超入門v1.0
PPTX
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
PDF
マルチパブリッシング プラットフォームとしてのWordPress
PPTX
2015年 失敗しない! WordPress多言語サイト制作で 絶対に知っておきたいこと
PDF
WordPress公式ディレクトリにテーマを登録しよう #wctokyo
PDF
YARAIYA! Opendata with WordPress
PDF
VCCW + Wordmove でデプロイが劇的に簡単になった話
PDF
_s + bootstrapで始めるWordPressテーマ開発入門
PPTX
CMS の現場から - WordPress と concrete5
WordCamp Kansai 2015 プレイベント「コントリビューターデイ」
WP-CLIとWordPress公式ディレクトリを活用した爆速サイト構築術 ーインストールからデザイン、ページ作成までを10分でー
WordPressで行う継続的インテグレーションのススメ
WordCamp Kansai 2015 発表資料
WorcCamp Kansai 2015 LT大会
WordPressで行うシステム開発 WordCamp Tokyo 2015用
WP-CLI (WordBench Sendai 20140628)
WP REST API の活用事例と今後
Hands on PhotoBlog App with WordPress REST API and App Inventor
WordCampKansai 2015 公式ディレクトリへの􏰀 テーマ掲載とビジネスモデル
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
ノンプログラマーのためのWordPressプラグイン開発超入門v1.0
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
マルチパブリッシング プラットフォームとしてのWordPress
2015年 失敗しない! WordPress多言語サイト制作で 絶対に知っておきたいこと
WordPress公式ディレクトリにテーマを登録しよう #wctokyo
YARAIYA! Opendata with WordPress
VCCW + Wordmove でデプロイが劇的に簡単になった話
_s + bootstrapで始めるWordPressテーマ開発入門
CMS の現場から - WordPress と concrete5
Ad

Viewers also liked (20)

PPTX
var dumpを使わないWordPress開発フロー
PDF
WordCamp Tokyo2015 (Lt kitamura)
PDF
Ultrafast WordPress Virtual Word camp2015
PDF
What's new in WordPress 4.4 (For Demo)
PDF
中級アフィリエイターの実際 @WordCampTokyo2015
PDF
Wpct2015 lt miku_endo
PDF
WordPress + Docker - Reusable WordPress development environments
PDF
『ライターと制作者のメディアの作り方』WordCamp Tokyo2015
PDF
WordCampでWordPressとWordPoliceのお話
PDF
I love Automation
PDF
Why We Should Choose Free Plugins
PPTX
まだタスクランナー使っていないって本当(マジ)? 仕事に対する効率化意識向上のための gulp ハンズオン
PDF
WordCamp Tokyo 2015 LT みんな考えて!4択クイズ大会
PDF
WordPress tokyo2015 - 公式プラグインでお金を稼ぐことができるか?
PDF
WordPress + Speed of CDN (WordCamp Tokyo 2015 LT)
PDF
English Speaking Session: Introduction (WordCamp Tokyo 2015)
PDF
拡散欲しいよね!WordPressでプラグインを使わずにOGPを設定してみた
PDF
モブログのすすめ – スマホを活用すれば読まれるWordPressが作れる in WordCamp 2015 Tokyo
PPTX
Webサイトをめぐるセキュリティ状況と効果的な防御方法(WordPress編)
PDF
コミュニティ立ち上げのときに本当にあった恐い話
var dumpを使わないWordPress開発フロー
WordCamp Tokyo2015 (Lt kitamura)
Ultrafast WordPress Virtual Word camp2015
What's new in WordPress 4.4 (For Demo)
中級アフィリエイターの実際 @WordCampTokyo2015
Wpct2015 lt miku_endo
WordPress + Docker - Reusable WordPress development environments
『ライターと制作者のメディアの作り方』WordCamp Tokyo2015
WordCampでWordPressとWordPoliceのお話
I love Automation
Why We Should Choose Free Plugins
まだタスクランナー使っていないって本当(マジ)? 仕事に対する効率化意識向上のための gulp ハンズオン
WordCamp Tokyo 2015 LT みんな考えて!4択クイズ大会
WordPress tokyo2015 - 公式プラグインでお金を稼ぐことができるか?
WordPress + Speed of CDN (WordCamp Tokyo 2015 LT)
English Speaking Session: Introduction (WordCamp Tokyo 2015)
拡散欲しいよね!WordPressでプラグインを使わずにOGPを設定してみた
モブログのすすめ – スマホを活用すれば読まれるWordPressが作れる in WordCamp 2015 Tokyo
Webサイトをめぐるセキュリティ状況と効果的な防御方法(WordPress編)
コミュニティ立ち上げのときに本当にあった恐い話
Ad

More from Toru Miki (6)

PDF
WordPress 4.4
PDF
10 WordPress security measures you can implement today!
PDF
WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~
PDF
WordFes 発表事例セッション
PDF
What's coming in WordPress 3.6
KEY
WordPress 3.4 〜新機能や変更点〜
WordPress 4.4
10 WordPress security measures you can implement today!
WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~
WordFes 発表事例セッション
What's coming in WordPress 3.6
WordPress 3.4 〜新機能や変更点〜

レスポンシブ・イメージのWordPressへの実装と4.4