LIQUID DESIGN Tech Blog

WordPress公式テーマレビューのポイントまとめ

こんにちは。

この記事は「WordPress Advent Calendar 2016」3日目の記事です。

昨年は間に合わなかったので、最後に滑り込めてうれしいです:)

今年は、WordPress公式テーマを公開しましたので、その際にテーマレビューで指摘された点について、復習も兼ねてまとめたいと思います。
また、これから申請される方のご参考になれば幸いです。

はじめに

公開したWordPress公式テーマ

特長:ひとつのテーマでスマホ/PC表示切替できるテーマです。

WordPress公式テーマ登録の流れ

ご存知の方も多いかと思いますが、下記のような流れになります。

  • アップロードページからテーマを申請します。
  • Trac上でテーマレビュアーとテーマレビューチーム管理者によるチェックが行われます。ステータスは下記のようになります。
    • new(新規申請中)
    • reviewing(レビュー中)
    • approved(レビュアーによる承認)
    • live(管理者による承認、登録)

ちなみに、レビュアーさんが人手不足なようで、ステータスがレビュー中になるまで約4ヶ月、全体で約6ヶ月かかりました。
この間にWordPressの仕様変更などもあって結構大変でしたが、ボランティアのレビュアーさんが一番大変だと思いました。。ありがとうございますmm

レビューで指摘された主な点

国際化対応すべし

国際化対応のため、翻訳可能な文字列にする(デフォルト表記が英語であれば必須ではないというドキュメントも見たのですが)必要があります。
下記の関数を利用して対応します。なお、翻訳ファイルは必須ではありません。

出力する場合

_e( $text, $domain )

出力しない場合

__( $text, $domain )

テキストドメイン

$domainは、テーマ固有の名前を style.css で定義します。
Text Domain: domain-name
公式ドキュメント: I18n for WordPress Developers

エスケープすべし

出力する文字列はエスケープする必要があります。 翻訳可能な文字列の場合は後者を使用します。

URLエスケープ

esc_url( $text )
esc_url_e( $text, $domain )

HTMLエスケープ

esc_html( $text )
esc_html_e( $text, $domain )

日付のフォーマットは変更可能にすべし

日付のフォーマットはテーマ側で指定せず、下記のようにすることで、管理画面>設定>一般>日付のフォーマット の設定を反映することができます。
the_time( get_option( 'date_format' ) )
ちなみに、the_date では一覧で同じ日付が表示されないため、the_time の方がおすすめです。

スクリプトとスタイルは適切にエンキューすべし

JSやCSSの読み込みは、functions.php でエンキューする必要があります。パラメータでは依存するファイル名を指定できるので、読み込み順もコントロールできます。

下記のサンプルでは、テーマのCSSとjQuery、jQueryの後に common.min.js が読み込みされます。
function liquid_scripts_styles() {
wp_enqueue_style( 'liquid-style', get_stylesheet_uri(), array() );
wp_enqueue_script( 'liquid-script', get_template_directory_uri() . '/js/common.min.js', array( 'jquery' ) );
}
add_action( 'wp_enqueue_scripts', 'liquid_scripts_styles' );

適切に初期化すべし

add_theme_support() で指定する初期化に関する機能は after_setup_theme アクションに追加する必要があります。
function liquid_theme_setup() {
add_theme_support( 'title-tag' );
}
add_action( 'after_setup_theme', 'liquid_theme_setup' );

GPLライセンスを厳守すべし

ライセンスはもちろんGPLである必要がありますが、見落としがちなのがスクリーンショット内の画像です。
画像も全てGPLである必要があります。

その他

アクセシビリティ(accessibility-ready)対応テーマは、別途アクセシビリティチームによるレビューが必要なようです。

時間がかかりそうなので今回は対応しませんでしたが、機会があれば挑戦してみたいと思います。

関連リンク

公式テーマ登録について参考にさせて頂きました。ありがとうございますmm

以上、初歩的なミスもありましたが、修正して無事公開することができました。

改めて、細かくレビューして頂いたレビュアーさんには感謝です。

それでは、明日の記事もお楽しみに!

この記事を書いた人
LIQUID DESIGN のサービスに関するデザインや技術情報を発信します。
SNSでフォローする