こんにちは。
この記事は「WordPress Advent Calendar 2016」3日目の記事です。
昨年は間に合わなかったので、最後に滑り込めてうれしいです:)
今年は、WordPress公式テーマを公開しましたので、その際にテーマレビューで指摘された点について、復習も兼ねてまとめたいと思います。
また、これから申請される方のご参考になれば幸いです。
特長:ひとつのテーマでスマホ/PC表示切替できるテーマです。
ご存知の方も多いかと思いますが、下記のような流れになります。
ちなみに、レビュアーさんが人手不足なようで、ステータスがレビュー中になるまで約4ヶ月、全体で約6ヶ月かかりました。
この間にWordPressの仕様変更などもあって結構大変でしたが、ボランティアのレビュアーさんが一番大変だと思いました。。ありがとうございますmm
国際化対応のため、翻訳可能な文字列にする(デフォルト表記が英語であれば必須ではないというドキュメントも見たのですが)必要があります。
下記の関数を利用して対応します。なお、翻訳ファイルは必須ではありません。
_e( $text, $domain )
__( $text, $domain )
$domainは、テーマ固有の名前を style.css で定義します。
Text Domain: domain-name
公式ドキュメント: I18n for WordPress Developers
出力する文字列はエスケープする必要があります。 翻訳可能な文字列の場合は後者を使用します。
esc_url( $text )
esc_url_e( $text, $domain )
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である必要があります。
アクセシビリティ(accessibility-ready)対応テーマは、別途アクセシビリティチームによるレビューが必要なようです。
時間がかかりそうなので今回は対応しませんでしたが、機会があれば挑戦してみたいと思います。
公式テーマ登録について参考にさせて頂きました。ありがとうございますmm
以上、初歩的なミスもありましたが、修正して無事公開することができました。
改めて、細かくレビューして頂いたレビュアーさんには感謝です。
それでは、明日の記事もお楽しみに!