79
Mignon Style WordPress 公式テーマ 登録 のための 5 ステップ W o r d P r e s s 2014 . 09. 08 改訂版

WordPress公式テーマ登録のための5ステップ

Embed Size (px)

DESCRIPTION

2014年8月30日に開催されたWordFes Nagoya 2014でのセッションスライドです。

Citation preview

Page 1: WordPress公式テーマ登録のための5ステップ

Mignon Sty le

WordPress公式テーマ登録のための5ステップ

WordPress公式ディレクトリに挑戦!

2014.09.08 改訂版

Page 2: WordPress公式テーマ登録のための5ステップ

Mignon StyleWordPress歴 約1年

http://mignonstyle.com/@mignon_style mignonxstyle

Page 3: WordPress公式テーマ登録のための5ステップ

WordPressはじめて1年だけど

WordPress公式ディレクトリに

テーマ登録しちゃいました!!

Page 4: WordPress公式テーマ登録のための5ステップ

WordPress公式テーマ「Chocolat」 https://wordpress.org/themes/chocolat

Page 5: WordPress公式テーマ登録のための5ステップ

WordPress公式テーマ

〜 ショコラ 〜

Chocolat

Page 6: WordPress公式テーマ登録のための5ステップ

公式ディレクトリにテーマ登録するのって難しいんでしょ?

どうしたら登録できるの?

Page 7: WordPress公式テーマ登録のための5ステップ

WordPressのルールを

きちんと守れば大丈夫!

Page 8: WordPress公式テーマ登録のための5ステップ

公式テーマの申請から登録まで

フィードバックがなくなるまで修正します

修正が必要な場合は

フィードバック承 認

テーマレビュアーがチェック

テーマレビューチームの管理者がチェック

公式ディレクトリにテーマが登録される

公式ディレクトリにテーマを申請

テーマレビュアー テーマ作者

修 正して 再 申 請

フィードバック

Page 9: WordPress公式テーマ登録のための5ステップ

STEP1 準備Preparation

Page 10: WordPress公式テーマ登録のための5ステップ

申請する前の準備

2

テーマの作成ガイドライン国際化(英語)テーマユニットテストデバッグモード構文チェックTheme-Check

5

3

4

6

7

1

Page 11: WordPress公式テーマ登録のための5ステップ

申請する前の準備

2

テーマの作成ガイドライン国際化(英語)テーマユニットテストデバッグモード構文チェックTheme-Check

5

3

4

6

7

1

Page 12: WordPress公式テーマ登録のための5ステップ

テーマの作成1

1 ゼロから作るオリジナルのテーマ

4 「_s」などのスターター・テーマを利用したテーマ

2 既存の公式テーマを利用した子テーマ

3 「テーマフレームワーク」を利用したテーマ

テーマを作成する方法はおもに4つあります

Page 13: WordPress公式テーマ登録のための5ステップ

4つのうち公式テーマに登録できるのはどのテーマ?

1 ゼロから作るオリジナルのテーマ

4 「_s」などのスターター・テーマを利用したテーマ

2 既存の公式テーマを利用した子テーマ

3 「テーマフレームワーク」を利用したテーマ

Page 14: WordPress公式テーマ登録のための5ステップ

1 ゼロから作るオリジナルのテーマ

4 「_s」などのスターター・テーマを利用したテーマ

2 既存の公式テーマを利用した子テーマ

3 「テーマフレームワーク」を利用したテーマ全部登録できます!!

4つのうち公式テーマに登録できるのはどのテーマ?

Page 15: WordPress公式テーマ登録のための5ステップ

既存のテーマやフレームワークを利用する場合は、ライセンスや

著作権をreadme.txtに記載します

画像やjs・フォントファイルを使用する場合はそのライセンスや著作権も書きます!

Page 16: WordPress公式テーマ登録のための5ステップ

申請する前の準備

2

テーマの作成ガイドライン国際化(英語)テーマユニットテストデバッグモード構文チェックTheme-Check

5

3

4

6

7

1

Page 17: WordPress公式テーマ登録のための5ステップ

ガイドライン2・テーマレビュー http://codex.wordpress.org/Theme_Review

・テーマレビューガイドライン http://tinyurl.com/nzxbkld

ガイドラインは更新が早いので英語版で確認します

Page 18: WordPress公式テーマ登録のための5ステップ

・コーディング基準

JavaScript

CSS

HTML

PHP

WordPressのコーディング基準

http://codex.wordpress.org/WordPress_Coding_Standards

Page 19: WordPress公式テーマ登録のための5ステップ

ライセンス

Required必須

・ GPLライセンスの表記

必須ファイル

・ index.php

・ comments.php

・ style.css

・ screenshot.png(推奨サイズ:880 × 660px)

子テーマの場合はこれより少なくてもOK

Page 20: WordPress公式テーマ登録のための5ステップ

テンプレートタグ・フック

Required必須

・ wp_head()・ wp_footer()・ wp_link_pages()

・ wp_title()

・ body_class()

・ post_class()

・ $content_width(メインコンテンツの最大幅の定義)

・ 前後のページへのリンク posts_nav_link() または paginate_links() または

previous_posts_link()/next_posts_link()

Page 21: WordPress公式テーマ登録のための5ステップ

・ comments_template()・ wp_list_comments()・ comment_form()・ wp_enqueue_script( 'comment-reply' )・ comment_class() (wp_list_comments()のコールバックを利用する場合)

・ 前後のコメントページへのリンク paginate_comments_links() または

previous_comments_link() / next_comments_link()

Required必須コメント

Page 22: WordPress公式テーマ登録のための5ステップ

Required必須

・ WordPressに定義されたクラスのスタイル .aligncenter、.wp-caption、.sticky、.bypostauthor など

CSSクラス

・ readme.txt テーマの使い方や更新履歴など

・ potファイル 翻訳用のテンプレートファイル

必須ではないけど必要なもの

Page 23: WordPress公式テーマ登録のための5ステップ

申請する前の準備

2

テーマの作成ガイドライン国際化(英語)テーマユニットテストデバッグモード構文チェックTheme-Check

5

3

4

6

7

1

Page 24: WordPress公式テーマ登録のための5ステップ

<h2>メッセージ</h2>

<h2>Message</h2>

・テキストはすべて英語で記述(必須)

国際化(英語)3

国際化(翻訳対応)は推奨

国際化しない場合

Page 25: WordPress公式テーマ登録のための5ステップ

I18n(国際化)http://codex.wordpress.org/I18n_for_WordPress_Developers日本語版 http://wpdocs.sourceforge.jp/I18n_for_WordPress_Developers

<h2><?php _e( ‘Message’, ‘text_domain’ ); ?></h2>

<h2>メッセージ</h2>

国際化する場合

・翻訳のためのテンプレートタグを使用

Page 26: WordPress公式テーマ登録のための5ステップ

load_theme_textdomain( 'text_domain', get_template_directory() . '/languages' );

・翻訳ファイルの読込

テキストドメイン = テーマ名のスラッグ

国際化する場合

Page 27: WordPress公式テーマ登録のための5ステップ

Poedit(無料版)

を使うと簡単!

・POTファイルの作成空のPOTファイルのダウンロードhttps://github.com/fxbenard/Blank-WordPress-Pot

WordPressプラグイン・テーマ翻訳:Poedit無料版で新規POTファイルを作成する http://tinyurl.com/og7h6nd

国際化する場合

Page 28: WordPress公式テーマ登録のための5ステップ

申請する前の準備

2

テーマの作成ガイドライン国際化(英語)テーマユニットテストデバッグモード構文チェックTheme-Check

5

3

4

6

7

1

Page 29: WordPress公式テーマ登録のための5ステップ

テストデータをインストール1

テーマユニットテスト http://codex.wordpress.org/Theme_Unit_Test

TestDataインストール

https://wpcom-themes.svn.automattic.com/ demo/theme-unit-test-data.xml

テーマユニットテスト4

Page 30: WordPress公式テーマ登録のための5ステップ

すべてのレイアウトが正しく表示されているか確認

2

タイトルがすごく長い

本文が無い

たくさんのカテゴリー

たくさんのコメント

コメントの階層

タイトルが無い

テーマ作者

Page 31: WordPress公式テーマ登録のための5ステップ

すべてのページが正しく表示されるか確認3

タイトル

2014/08/30

アーカイブページ

投稿ページへのリンク

投稿ページへのリンク

2014/08/31 投稿ページへのリンク

リンク切れがないかチェック

タイトルと投稿日にそれぞれ投稿ページへのリンクがあればタイトルが無くても投稿ページを表示できる

Page 32: WordPress公式テーマ登録のための5ステップ

申請する前の準備

2

テーマの作成ガイドライン国際化(英語)テーマユニットテストデバッグモード構文チェックTheme-Check

5

3

4

6

7

1

Page 33: WordPress公式テーマ登録のための5ステップ

デバッグ http://codex.wordpress.org/Debugging_in_WordPress

WordPress初心者におすすめ!デバッグモードの使い方

http://mignonstyle.com/debug-mode/

wp-config.php

エラーが出ないか確認

define('WP_DEBUG', true);

デバッグモード5

Page 34: WordPress公式テーマ登録のための5ステップ

申請する前の準備

2

テーマの作成ガイドライン国際化(英語)テーマユニットテストデバッグモード構文チェックTheme-Check

5

3

4

6

7

1

Page 35: WordPress公式テーマ登録のための5ステップ

・JavaScriptのエラーチェック 各ブラウザのチェックツール (IEの「F12 開発者ツール」など)

・HTMLの構文チェック(W3C XHTML Validator)

http://validator.w3.org/

・CSSの構文チェック(W3C CSS Validator)

http://jigsaw.w3.org/css-validator/

構文チェック6

Page 36: WordPress公式テーマ登録のための5ステップ

申請する前の準備

2

テーマの作成ガイドライン国際化(英語)テーマユニットテストデバッグモード構文チェックTheme-Check

5

3

4

6

7

1

Page 37: WordPress公式テーマ登録のための5ステップ

Theme-Check7

Theme-Check http://wordpress.org/plugins/theme-check/

テーマのガイドラインに適合しているかチェック

Page 38: WordPress公式テーマ登録のための5ステップ

Chocolat passed the tests

Page 39: WordPress公式テーマ登録のための5ステップ

STEP2 申請Upload

Page 40: WordPress公式テーマ登録のための5ステップ

公式テーマの申請から登録まで

フィードバックがなくなるまで修正します

修正が必要な場合は

フィードバック承 認

テーマレビュアーがチェック

テーマレビューチームの管理者がチェック

公式ディレクトリにテーマが登録される

公式ディレクトリにテーマを申請

テーマレビュアー テーマ作者

修 正して 再 申 請

フィードバック

Page 41: WordPress公式テーマ登録のための5ステップ

アカウントの作成1

アカウントの登録 https://wordpress.org/support/register.php

WordPress日本語フォーラムの

アカウントでOK

Page 42: WordPress公式テーマ登録のための5ステップ

テーマの申請2

テーマのアップロード http://wordpress.org/themes/upload/

形式:zipファイルファイルサイズ:8Mまで

Page 43: WordPress公式テーマ登録のための5ステップ

アップロードできないときは

テーマに構文ミスなどがあるとファイルが受け付けられません

アップロードの時点で自動チェック

Page 44: WordPress公式テーマ登録のための5ステップ

このチケットで修正や質問などを

やりとりします

チケットの割当3

Page 45: WordPress公式テーマ登録のための5ステップ

レビュー待ちのテーマ https://themes.trac.wordpress.org/query?status=new

担当のレビュアーがつくまで数日〜数週間かかるので

のんびり待ちます

Page 46: WordPress公式テーマ登録のための5ステップ

申請後にミスを発見!テーマを修正してもいいの?

フィードバックがまだのとき

テーマを修正して再アップしますー

テーマ作者

comment

Page 47: WordPress公式テーマ登録のための5ステップ

フィードバック以外の修正を一緒に行いたいときは?

順番にアップロード

フィードバックの修正をしたデータ1

その後、自分の修正をしたデータ2

データの修正は分けても分けなくてもいいけど、初心者レビュアーさんの場合は分けたほうがチェックしやすいようです

Page 48: WordPress公式テーマ登録のための5ステップ

お互いが気持ちよく作業できるようにしよう

テーマ作者テーマレビュアー

Theme

Page 49: WordPress公式テーマ登録のための5ステップ

STEP3 修正Feedback

Page 50: WordPress公式テーマ登録のための5ステップ

公式テーマの申請から登録まで

フィードバックがなくなるまで修正します

修正が必要な場合は

フィードバック承 認

テーマレビュアーがチェック

テーマレビューチームの管理者がチェック

公式ディレクトリにテーマが登録される

公式ディレクトリにテーマを申請

テーマレビュアー テーマ作者

修 正して 再 申 請

フィードバック

Page 51: WordPress公式テーマ登録のための5ステップ

セキュリティPlugin

Territory

サニタイズエスケープ

バリデーション

A P I

Opt-in

リセットボタン

Prefix

オプション

overflow

wordwrap

Hardcoding

クレジットスタイリング

ライセンス

Page 52: WordPress公式テーマ登録のための5ステップ

セキュリティ

バリデーション

リセットボタン

フィードバック

ダメ出しよくある

Page 53: WordPress公式テーマ登録のための5ステップ

metaタグ OGP

robots.txtSEO

Analyticsのスクリプト

SNSの共有ボタン

テーマ作者

Page 54: WordPress公式テーマ登録のための5ステップ

metaタグ OGP

robots.txtSEO

Analyticsのスクリプト

SNSの共有ボタン

テーマ作者

PluginTerritory

Page 55: WordPress公式テーマ登録のための5ステップ

functions.phpにコードを直書き

register_sidebar( array( 'name' => __( 'Sidebar Widget', 'text_domain' ), 'before_title' => '<h3>', 'after_title' => '</h3>',) );

add_theme_support( 'custom-background' );

functions.php

Page 56: WordPress公式テーマ登録のための5ステップ

functions.phpにコードを直書き

register_sidebar( array( 'name' => __( 'Sidebar Widget', 'text_domain' ), 'before_title' => '<h3>', 'after_title' => '</h3>',) );

add_theme_support( 'custom-background' );

functions.phpcallbacksand

hooked

サニタイズ

Page 57: WordPress公式テーマ登録のための5ステップ

function themeslug_widgets_init() { register_sidebar( array( 'name' => __( 'Sidebar Widget', 'text_domain' ), 'before_title' => '<h3>', 'after_title' => '</h3>', ) );}add_action( 'widgets_init', 'themeslug_widgets_init' );

自作の関数・変数にはユニークな接頭辞をつける

適切なアクションにフックする

functions.php

Page 58: WordPress公式テーマ登録のための5ステップ

header.php

<head>

<link rel="stylesheet" href="<?php echo get_stylesheet_uri(); ?>"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Quicksand"> <?php wp_head(); ?></head>

スタイルシートのリンクをheader.phpに記述

Page 59: WordPress公式テーマ登録のための5ステップ

野良テーマで配布して

好評だから公式登録なんて楽勝でしょ!!

動けば O K!!

野良テーマで配布して

好評だから公式登録なんて楽勝でしょ!!

動けば O K!!

header.php

<head>

<link rel="stylesheet" href="<?php echo get_stylesheet_uri(); ?>"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Quicksand"> <?php wp_head(); ?></head>

スタイルシートのリンクをheader.phpに記述

Hardcoding

Page 60: WordPress公式テーマ登録のための5ステップ

野良テーマで配布して

好評だから公式登録なんて楽勝でしょ!!

動けば O K!!

野良テーマで配布して

好評だから公式登録なんて楽勝でしょ!!

動けば O K!!

wp_enqueue_scriptsフックを使う

functions.php

function themeslug_enqueue_styles() { wp_enqueue_style( 'themeslug-style', get_stylesheet_uri() ); wp_enqueue_style( 'themeslug-quicksand', '//fonts.googleapis.com/css?family=Quicksand' );}add_action( 'wp_enqueue_scripts', 'themeslug_enqueue_styles' ); 「http:」は

省略

Page 61: WordPress公式テーマ登録のための5ステップ

野良テーマで配布して

好評だから公式登録なんて楽勝でしょ!!

動けば O K!!

footer.php

<body>

<?php wp_footer();?> <script src="http://ajax.googleapis.com/ ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script src="<?php echo get_template_directory_uri(); ?>/js/slider.js"></script> </body></html>

スクリプトのリンクをheader.phpやfooter.phpに記述

Page 62: WordPress公式テーマ登録のための5ステップ

footer.php

<body>

<?php wp_footer();?> <script src="http://ajax.googleapis.com/ ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script src="<?php echo get_template_directory_uri(); ?>/js/slider.js"></script> </body></html>

スクリプトのリンクをheader.phpやfooter.phpに記述

Hardcoding

Page 63: WordPress公式テーマ登録のための5ステップ

function themeslug_enqueue_scripts() {

wp_enqueue_script( 'themeslug-slider', get_template_directory_uri() . '/js/slider.js', array( 'jquery' ), null, true );}add_action( 'wp_enqueue_scripts', 'themeslug_enqueue_scripts' );

functions.php

wp_enqueue_scriptsフックを使う

WordPressにデフォルトで入っている

jQueryを使用

Page 64: WordPress公式テーマ登録のための5ステップ

野良テーマで配布して

好評だから公式登録なんて楽勝でしょ!!

動けば O K!!

野良テーマで配布して

好評だから公式登録なんて楽勝でしょ!!

動けば O K!!

Page 65: WordPress公式テーマ登録のための5ステップ

野良テーマで配布して

好評だから公式登録なんて楽勝でしょ!!

動けば O K!!

野良テーマで配布して

好評だから公式登録なんて楽勝でしょ!!

動けば O K!!

CheckGuideline

Page 66: WordPress公式テーマ登録のための5ステップ

野良テーマで配布して

好評だから公式登録なんて楽勝でしょ!!

動けば O K!!

Codexに準拠した正しい記述

セキュリティ的に安全な実装

どのような使い方でも正しく表示

Page 67: WordPress公式テーマ登録のための5ステップ

わからないことは

質問しよう!!

Page 68: WordPress公式テーマ登録のための5ステップ

STEP4 登録Live

Page 69: WordPress公式テーマ登録のための5ステップ

公式テーマの申請から登録まで

フィードバックがなくなるまで修正します

修正が必要な場合は

フィードバック承 認

テーマレビュアーがチェック

テーマレビューチームの管理者がチェック

公式ディレクトリにテーマが登録される

公式ディレクトリにテーマを申請

テーマレビュアー テーマ作者

修 正して 再 申 請

フィードバック

Page 70: WordPress公式テーマ登録のための5ステップ

テーマレビューチームの管理者がチェック

テーマレビュアー

テーマの承認1

APPROVED承 認

Page 71: WordPress公式テーマ登録のための5ステップ

管理者のチェック待ちのテーマ http://tiny.cc/2znlkx

管理者がチェックするまで数日〜数週間かかるので

のんびり待ちます

Page 72: WordPress公式テーマ登録のための5ステップ

テーマの登録2

公式ディレクトリに登録される

テーマレビューチーム管理者

L I V E登 録

Page 73: WordPress公式テーマ登録のための5ステップ

STEP5 挑戦Challenge

Page 74: WordPress公式テーマ登録のための5ステップ

公式ディレクトリにテーマを登録するのは難しそう

ユニットテスト

GPL

国際化

エラーチェック

英語

フィードバック

Page 75: WordPress公式テーマ登録のための5ステップ

フィードバックがあったところを修正しつづければ

登録できるから大丈夫!!

きら め な

い!

Page 76: WordPress公式テーマ登録のための5ステップ

Let's try!!やってみよう!!

Page 77: WordPress公式テーマ登録のための5ステップ

参考になる書籍

公式テーマを使って解説しているので、Codexに準拠したテーマの作り方がわかります

プラグインの本ですが、GPLやコーディング基準、ユニットテスト国際化対応など参考になります

Page 78: WordPress公式テーマ登録のための5ステップ

テーマの登録に関する内容は公式テーマ開発者のnobitaさんに

確認していただきました。この場をかりて御礼申し上げます。

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

フォローアップ

http://mignonstyle.com/wordpress-theme-review/WordPress公式ディレクトリにテーマを登録する方法

Page 79: WordPress公式テーマ登録のための5ステップ

ご清聴ありがとうございました

Mignon Style@mignon_style mignonxstyle