信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!...

67
信頼性が高くハイパフォーマンスな テーマ開発テクニックでライバルに差をつけろ! 2012年11月3日 WordCamp Osaka 2012 at 天満研修センター 宮内 隆行 速くてちゃんと動くテーマの作り方! 12115日月曜日

description

2012/11/3に開催されたWordCamp Osakaのセッションで使用した資料です。

Transcript of 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!...

Page 1: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

2012年11月3日WordCamp Osaka 2012at 天満研修センター

宮内 隆行

速くてちゃんと動くテーマの作り方!

12年11月5日月曜日

Page 2: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

自己紹介

12年11月5日月曜日

Page 3: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

✓ 和歌山県の串本町という田舎でフリーランスしてます。

✓ デジタルキューブという会社のバックエンドエンジニアとしても仕事してます。

デジタルキューブは、Amazon Web Serviceの公認コンサルタントです。

12年11月5日月曜日

Page 4: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

設計やバックエンドの開発を行いました。

12年11月5日月曜日

Page 5: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

本日のAWSハンズオンで!

12年11月5日月曜日

Page 6: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

WordPressのプラグイン作ってます。

12年11月5日月曜日

Page 7: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

twitter: @miya0001

12年11月5日月曜日

Page 8: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

ブログ: http://firegoby.jp/

12年11月5日月曜日

Page 9: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

✓ WordCamp Kobe 2011

✓ WordCamp Tokyo 2011

✓ PHPカンファレンス関西 2012

✓ WordBeach Nagoya 2012

✓ WordCamp Tokyo 2012

WordCampでは、今回で4回連続でセッションさせて頂きます。

ありがとうございます。

12年11月5日月曜日

Page 10: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

きょうの内容

12年11月5日月曜日

Page 11: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

✓ テンプレートタグの互換性の話

✓ これは簡単!Theme Checkによるテーマのテスト

✓ Theme Unit TestでCSSの不具合を効率良くもぐらたたき!

✓ 高速に表示されるテーマを開発するためのポイント

12年11月5日月曜日

Page 12: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

テンプレートタグの互換性のお話

12年11月5日月曜日

Page 13: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

ご存知ですか?

これから紹介するテンプレートタグは非推奨です。

12年11月5日月曜日

Page 14: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

bloginfo(‘url’)

12年11月5日月曜日

Page 15: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

bloginfo(‘url’)☓

12年11月5日月曜日

Page 16: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

bloginfo(‘url’)☓home_url()を使いましょう。

12年11月5日月曜日

Page 17: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

bloginfo(‘stylesheet_uri’)

12年11月5日月曜日

Page 18: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

bloginfo(‘stylesheet_uri’)☓

12年11月5日月曜日

Page 19: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

bloginfo(‘stylesheet_uri’)☓get_stylesheet_uri() を使いましょう。

12年11月5日月曜日

Page 20: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

add_custom_background()

12年11月5日月曜日

Page 21: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

add_custom_background()☓

12年11月5日月曜日

Page 22: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

add_custom_background()☓add_theme_support($feature, $args)

を使いましょう。

12年11月5日月曜日

Page 23: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

みんなが使ってるはずのプラグインが期待通りに動かないことありますよ

ね?

12年11月5日月曜日

Page 24: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

多くの場合、古いテンプレートタグを使っているのが原因です。

12年11月5日月曜日

Page 25: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

最新のテンプレートタグをCodex等で追いかけるのは大変。

12年11月5日月曜日

Page 26: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

実は簡単にチェックする方法がちゃんと用意されてるんです。

12年11月5日月曜日

Page 27: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

Theme Checkを使えばテンプレートタグを覚えなくてもオッケー!

12年11月5日月曜日

Page 28: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

Theme Check について12年11月5日月曜日

Page 29: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

✓ WordPress テーマが Codex(WordPressの決まり)に準拠してるかどうかをチェックするためのプラグイン

✓ WordPress コアとあわせて最新バージョンがリリースされています。

✓ 開発者は本家のエライ人たち

12年11月5日月曜日

Page 30: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

✓ 公式ディレクトリに登録されるテーマは、このテストに合格することが義務付けられています!

12年11月5日月曜日

Page 31: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

theme-checkでググってね!

12年11月5日月曜日

Page 32: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

使い方は超簡単です。

12年11月5日月曜日

Page 33: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

✓ まず、wp-config.phpを修正してデバッグモードに。

✓ 本番環境でこのまま放置しておくことはやめたほうがいいのでご注意!

define(‘WP_DEBUG’, true);

12年11月5日月曜日

Page 34: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

✓ プラグインをインストール。

✓ 管理画面の「外観」-「Theme Check」へ移動

✓ テストしたいテーマを選んで「テスト実行!」をクリック!

12年11月5日月曜日

Page 35: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

なんかいっぱいでてきたー!

12年11月5日月曜日

Page 36: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

✓ エラーが出たら、グーグル先生に聞いちゃいましょう!

✓ 対処方法がわかればひとつずつモグラたたき!

✓ 最悪フォーラムに聞いちゃえ!

12年11月5日月曜日

Page 37: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

theme-checkの注意点

12年11月5日月曜日

Page 38: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

✓ 子テーマを使ってる場合は、親テーマもチェックしたほうがいいです。

✓ 親テーマに警告が出た場合は、親テーマを書き換えずに子テーマで吸収する感じで。(これは逆に上級なテクニックが必要)

12年11月5日月曜日

Page 39: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

✓ 必ずしもすべての警告に問題があるわけではないです。

passed the tests は合格って意味です。

RECOMMENDEDは推奨って意味。WordPressコアの旧バージョンとの互換性保持のために古いタグをあえて使ってることも多い。

12年11月5日月曜日

Page 40: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

✓ このテストは頑張ってもぐらたたきをすれば、テーマに必要な要件をひととおり知ることができるので、とても勉強になります。

✓ 本を何時間もかけて読むよりはるかに簡単!しかも常に最新情報!

12年11月5日月曜日

Page 41: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

テーマユニットテスト

12年11月5日月曜日

Page 42: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

このテストもCodexで定められた由緒正しいテストです。

http://codex.wordpress.org/Theme_Unit_Test

12年11月5日月曜日

Page 43: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

このテストの目的はCSSの動作確認をすることです!

12年11月5日月曜日

Page 44: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

テストの手順

12年11月5日月曜日

Page 45: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

✓ http://megumi-manuals.com/ にアクセス。

✓ 右側のメニューの「インポートテストデータ」をダウンロード。

12年11月5日月曜日

Page 46: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

✓ インポートデータをダウンロードしたら解凍

✓ 管理画面の「ツール」ー「インポート」の中にある「WordPress」を選択して、解凍した.xmlをインポート!

12年11月5日月曜日

Page 47: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

✓ インポートが完了すると、約20ページの固定ページと約30ページの投稿がインポートされます。

✓ あとは、それらを順番に確認してモグラたたき!

12年11月5日月曜日

Page 48: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

12年11月5日月曜日

Page 49: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

12年11月5日月曜日

Page 50: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

12年11月5日月曜日

Page 51: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

12年11月5日月曜日

Page 52: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

ただし残念なお知らせ

12年11月5日月曜日

Page 53: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

現在インポートデータはリニューアル中のため画像のリンクが切れてしまいます...。

たぶんHTML5に対応するんじゃないかと個人的に予想しております。

12年11月5日月曜日

Page 54: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

✓ このテストを使用すると、お客さんにテーマのレビューをするときも印象がいいよ!

✓ 文字アタリ文字アタリ文字アタリ文字アタリ文字アタリ文字アタリ文字アタリ文字アタリ文字アタリ よりもずっと見栄えがいいですよね。

✓ CSSの作業も順番にモグラたたきをするだけで良くなるので、効率が良くなります!

12年11月5日月曜日

Page 55: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

高速に表示されるテーマの作り方

12年11月5日月曜日

Page 56: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

CSSはJavaScriptよりも先に読み込みましょう。

12年11月5日月曜日

Page 57: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

✓ ブラウザはCSSのダウンロードが完了するまで何も表示しません。

✓ でもJavaScriptはダウンロードが完了しなくても表示を開始します。

12年11月5日月曜日

Page 58: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

ファイルの数をなるべく減らしましょう!

12年11月5日月曜日

Page 59: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

✓ CSSはなるべく1つのファイルにまとめましょう!

✓ @import はなるべく避けましょう!

✓ 小さな画像はCSSスプライトでまとめましょう!

12年11月5日月曜日

Page 60: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

wp_enqueue_style()wp_enqueue_script()を使いこなしましょう!

12年11月5日月曜日

Page 61: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

✓ これらを使うとキャッシュ系のプラグインやCDNのサービスなどと相性がとても良くなります。

12年11月5日月曜日

Page 62: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

ja.wpbooster.net

そうそうCDNといえば!

12年11月5日月曜日

Page 63: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

よくある誤解

12年11月5日月曜日

Page 64: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

get_stylesheet_uri()とか

bloginfo(‘stylesheet_uri’)つかうよりも直書きしちゃったほうが

早くなるんじゃね?

12年11月5日月曜日

Page 65: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

✓ これらの値はWordPressが呼び出された時点でまとめて取得されていますので、この記述を省いてもデータベースへのアクセスは減りません。

✓ 一部のCDNとかキャッシュ系プラグインはこれらを使ってることが前提で設計されてるので、いろいろと問題が生じます。

✓ 期待通りに動かないプラグインとか出てきますよ。

12年11月5日月曜日

Page 66: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

ja.wpbooster.net

そうそうCDNといえば!

12年11月5日月曜日

Page 67: 信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!

ありがとうございました!

12年11月5日月曜日