WordPress公式テーマディレクトリへの申請のためにやったこと
スポンサーリンク
WordPress.orgへのテーマ申請のメモ。
WordPressの公式ディレクトリ、プラグインの申請情報はそれなりにあるのですが、テーマ申請となると何故か日本語での情報が少ない(日本の皆さんはプログラマーのほうが多い?)。
自分の備忘録を兼ねた記録です。
もくじ
1. テーマを国際化(翻訳)
仕事でWordPressテーマを作っていても、公式テーマとなると「国際的に共通して使えるようになること」が必須となり、作り方が変わってきます。
テーマ中の文言などは、全てテキストドメインに変更して、どんな言語へも翻訳可能な状態に。詳しくは以下のエントリーにまとめています。
2. テーマ規約を熟読
公式テーマには、非常に多くのルールが設けられています。WordPress.org日本語版でもガイドラインの一部は日本語で読むことが出来ますが、最終更新日がかなり昔なので、現状では英語で読むしかありませんかね。
それぞれの項目毎に、細かな規定があります。英語なので読むのは大変ですが、ここをきちんと理解しておくことで、申請中には無駄な指摘を受けることが減り、結果的に時間の節約=早い承認に繋がります。
以下、ガイドラインの「ほんの」一部を紹介。※私の理解が正しければ・・・
必須項目(Required)
- 全て英語表示を基本に作ること。
- 2つ前のバージョン以降のWordPressで動くこと(最新版WordPressが3.9なら、3.7以上)。
- Analyticsのスクリプト、SEO(metaタグ、titleタグの改造)機能、シェアボタン機能をつけてはいけない。
- ファビコンも基本的につけてはいけない。つけるとしたらオプトイン式にし、デフォルトでは無効にしておくこと。
- aligncenterなど、WordPress独自のクラス(リスト)にスタイルシートを設定。
- wp_headなど、いくつかのWordPress独自のテンプレートタグ(リスト)を入れること。
- TEMPLATEPATHではなくget_template_directory()を使うこと。
- 他サイトへの直リンク禁止。ただしGoogle APIなどへのライブラリ・作者のクレジットリンク等はOK。
- ライセンスはGPLまたはGPLに準じたもの。
- Webフォント・アイコンフォント等も、GPLまたはGPLに準じたもの(リスト)。
- 自作以外のデータ・コードを使っている場合には、ライセンス情報を明示すること。
- テーマ名には「WordPress」「Theme」という文言を入れてはいけない。でも「WP」はOK。
- WordPressという文言を使う場合は、必ずWとPは大文字で、後は小文字で。
- スタイルシートとスクリプトは、wp_enqueue_style()とwp_enqueue_script()を使って読み込むこと。
- 既にあるデザインをコピーしてはいけない。
- Theme Unit Testの全ての項目をクリアすること。※後述
- 公式テーマディレクトリに採用された後は、常に最新の状態にテーマを保つこと。
推奨項目(Recommended)
- フィード、サイドバー、ナビゲーションメニュー、カスタムヘッダー等の機能。
- 404.phpやarchive.phpなどのテンプレートファイル。
- readme.txtを用意し、更新情報やテーマの説明等を書く。
私が規約を読んで当初のテーマ機能から削除したのは、OGPの出力(metaタグ)と、シェアボタンです。
シェアボタンをつけている公式テーマも中にはあるように見受けられますが、それらはバックエンドで「自由に表示・非表示の設定が出来るようになっている」よう。
残念ながら私にはそこまでのプログラミングの技術はないので、申請前に削除しました。
また、私のテーマでは外部ライブラリ(Font AwesomeやGoogle Fonts)を読み込んでいますが、これについては特にお咎めはなく、外部リンクはライブラリ・APIに関しては大丈夫とされています。(9/27更新)テーマ更新申請時の審査で、Webフォントの読み込み直リンクは不可との指摘を受けました。よって、Webフォントは全てDLしてテーマフォルダに入れました。
※ただし、ライセンス情報としてlicense.txtにはそれら全ての著作権情報を記載します。著作権情報は、英語版と日本語版を用意しました。
3. ローカルでのテーマチェック
規約に則ったテーマが出来たら、次は動作チェックです。
Theme Check (プラグイン)
申請前のエラーチェックは必須です。予めエラーが出ないことを確認しておかないと、申請時のテーマファイルのアップロード時点でエラーが出て、アップロードすらさせてもらえません。
そこで便利なのがTheme Checkというプラグイン。
必須項目や推奨項目をクリアしているかどうか、自動でチェックしてくれるプラグインです。
飽くまでもコードの項目的に問題がないかどうかを確認するもので、実際の申請では色々と指摘されます。それでも最低限このチェックをクリアしないことにはアップロードではねられますので、申請前には必須のプラグインと言えます。
Theme Unit Test
どんなにタイトルが長い記事でも、どんなに多くのカテゴリーに属していても、コメントがどんなに多くても、その他想定されるどんなにおかしな投稿に対しても、テーマがきちんと動くように、確認するためのテスト用素材があります。
Theme Unit Testの全ての項目をクリアすることは、ガイドラインでも「Required(必須)」とされています。
- テーマユニットテスト(WordPress.org Codex 日本語版)※情報遅め
- Theme Unit Test (WordPress.org Codex 英語版)
上記サイトより素材をダウンロードしたら、WordPressのインポート機能を使って記事とメディア(画像)を取り込みます。新しいWordPressとデータベースで試したほうがいいかと思います。
データをインポートする前に、予め「設定」で以下の項目の設定をしておきます。理由も含めた詳しい情報は上記リンクへ。
- 一般 → サイトタイトルとキャッチフレーズをやたら長くする。
- 表示設定 → 1ページに表示する最大投稿数:5
- ディスカッション → スレッド(入れ子)形式を「有効」、最低でも3階層以上。
- メディア → 大サイズの上限をなしにする
- パーマリンク設定 → デフォルト以外のパーマリンクにする
その他、カスタムメニューも最低2つ設定。
- ひとつは全てのページを含んだ長いメニュー
- ふたつめは、2~3のページを含んだ短いメニュー
日本語でのTheme Unit Testの他に、英語のTheme Unit Test素材でもテストをしておくことをオススメします。理由は後述。
Debugモードで確認
wp-config.phpで、デバッグモードに変えてこちらも動作テストも行っておきます。
define('WP_DEBUG', true);
推奨されていない古いテンプレートタグなどを使っているとエラーが出ますので、こちらも出なくなるまで修正。
HTML/CSSコードのチェック
W3CのHTMLテストとCSSテストも同時に行い、エラーが出ないかチェックしておきます。
- W3C Markup Validation Service (HTML/XHTML)
- W3C CSS Validation Service (CSS)
テーマのチェックは英語環境でも!
申請中には、審査して下さる方が「設定を○○にしたら動かないよ」等々と指摘してくれます。が、それらは全て「英語」のWordPress画面での話です。
日本語で使っていると、「Go Setting > Reading > Your Latest Post」とか突然言われても、その設定がどこに当たるのか、すぐにわかりません。(ちなみに、Setting:設定 > Reading:表示設定 > Your Latest Post:最新の投稿)
2015/2/10更新
WordPress4.0以前
WordPressを英語にするには、wp-config.phpの言語を「en_US」に変えてブラウザを更新すればOKです。
define('WPLANG', 'en_US');
WordPress4.1以降
WordPress4.1以降は、wp-config.phpを編集しなくても、WordPressの「設定」から言語を変更出来るようになりました。
日本語環境で作っている場合は、英語パックは標準で入っていると思いますので、簡単に言語を変更出来ると思います。
同様にTheme Unit Testも、英語でも確認しておいたほうが良いです。設定言語の違いによってexcerpt(抜粋)の長さが微妙に変わったり、欧文フォントになると途端に雰囲気が変わったりするので、新たな修正箇所なども出てきます。
また、問題を指摘される際は英語なので、それが日本語のUnit Testではどの投稿に当たるのか、予めわかっていると修正にも素早く対応出来ます。
4. いよいよ申請
申請にはWordPress.orgのアカウントが必要です。
アップロードはこちらから行います。Theme Checkプラグインでエラーが出るようであれば、ここでもエラーが出てアップロードは行われません。
また、Google Chromeではアップロードがうまく行きませんでした(Firefoxはダメ、的なことが表示に出てましたが)。最終的にはIEからアップロード。
無事アップロードが行われれば「ticket」が発行され、数日~数週間で担当がつき、いよいよ審査に入ります。ticketには固有のURLが当てられ、そこで審査状況などが確認出来、また担当者とのやりとりが出来るようになります(これらは一般に公開されます)。
5. 指摘されたこと
アップロードから5日後、最初のレビュー(審査)のフィードバックが来ました。メールでも来ますが、ticketのURL上ならば、審査担当がキャプチャで指摘してくれているのも確認出来ます。
私が指摘されたのは、主に「プラグインがないと動かないテーマはダメ!」という点(と、Welcartプラグインありきで作っていたためそこから派生する表示の不具合)です。
Welcart用に作ったテーマであることを説明すると、以下の対応を勧められました。
- プラグインを通して表示させる部分には、 if (function_exists())を使う ※プラグインが有効化されていない時に、エラーが出るのを防ぐ。
- ユーザーにプラグイン導入を推奨するTGM Plugin Activationを導入する
これらの指摘により、Welcart用のブログ記事は「ブログカテゴリー」に格納するという当初の設計も、カテゴリーで分けなくても問題なく表示されるようにこの時点で変更しました。
また、
- フッターリンクに「Powered by WordPress」が入ってない
という指摘もありましたが、規約には
A second “Powered by” link for WordPress is also acceptable, with the link pointing to http://wordpress.org.
と書かれていることから(こちら)、「ここにはacceptable(入れてもいい)と書いてあって、required(必須)とは書いてないけど、やっぱり必須なの?」と質問したら、「じゃあいいです」との返事が。
審査して下さる方も当然ボランティアで、皆さんが英語ネイティブとは限りませんから、多少は規約の理解に誤差があるかもしれませんし、この辺は担当によっても微妙に対応が異なるかもしれません。疑問に思ったことは気負いせずに質問してみましょう。
6. 承認後の流れ
審査の最後のほうは、どこが問題なのかわかりにくい指摘もあったのですが、「どこを直すべきかよくわからないから、修正すべき場所を詳しく教えて」と質問したら、この質問にも「じゃあいいです」的な答えが返ってきて、そのまま「approved(承認)」となりました。(いいのか?)
ただ、新しいテーマの場合は「approved(承認)」となったからといって即時に公式テーマディレクトリに掲載されるわけではありません。
テーマレビューを行うボランティアスタッフは常に人手不足であり、その中で新しいレビュアーを育成する目的もあることから、最終的にはadminレベルの古株スタッフが更に細かく確認を行います。そのチェックに合格しない限り、「live(公開)」となりません。
修正項目があれば「approved(承認)」は取り消され、修正版の提出待ちとなります。その内容の確認自体はadminではない普通レベルのレビュアーによって行われ、彼らから見て問題がなければまた「approved(承認)」となりますが、当然その後にadminレベルのレビュアーのチェックが入り、問題があればまた「approved(承認)」は取り消されます。
この際、あまりに修正版の提出が遅いとチケットはクローズされてしまう場合もあり、また長い順番待ちに並ばないといけなくなりますので、ご注意下さい。
7. まとめ
私は幸い英語には抵抗がないため、審査して下さった方との英語でのやり取りには腐心しませんでしたが、それでもテーマ規約の確認は疲れました。規約は頻繁に変わるそうなので、承認後にテーマを更新する場合は、その時々で規約内容を確認する必要も出てきます。
私の場合は「approved(承認)」までの修正回数は2回でしたが、ひとえに規約をきちんと読んで細かく表示テストを行ったことが、承認までの早さに繋がったと思います。
テーマを作る私達もそうですが、WordPress.orgでテーマレビュー(審査)をして下さる方も皆ボランティアです。人手不足でチェック待ちにも時間がかかります。皆さん貴重な時間を割いて、「誰がどんな風に使っても問題ないかどうか」細かく動作確認をして下さるので、感謝の気持ちを持って申請に臨みましょう。
8. 参考サイト
申請にあたり、参考にさせて頂いたサイトです。日本語情報が少ない中での有難い記事。
また、以下のコラムでは、テーマのレビュアーがどんな風にテーマをチェックしているか、非常に興味深い内容が語られています。テーマ作者である私達は「アップロードと修正」をするだけですが、チェックする方々は本当に大変です。
最初のアップロード(申請)で最も多い却下理由は、「禁止されているmetaタグがヘッダーに記載されていたり、フッターの著作権リンクのスパムがある」だそうです。申請前には必ずガイドラインを読みましょうね・・・。
[…] WordPress公式テーマディレクトリへの申請のためにやったこと | Welcart カスタマイズ […]
[…] WordPress公式テーマディレクトリへの申請のためにやったこと | Welcart カスタマイズ […]