• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

「テーマレビュー」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(一部翻訳。最新英語版に基づき更新。/継続作業予定)
(最新に更新、プラグインのリンク先を日本語Codexページに変更)
4行目: 4行目:
  
 
== Theme Review <!-- Theme Review -->==
 
== Theme Review <!-- Theme Review -->==
<small>(最終更新日: 2010-09-13)</small><!-- Last Edited: '''{{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY}}''' 英語版は更新日を自動表示にしたが、審査基準の更新日かもしれないので、日本語版ではこの日付は手動更新にしておきます。 -->
+
<small>{{改訂日|2010|11|14}}</small><!-- Last Edited: '''{{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY}}''' 英語版は更新日を自動表示にしたが、審査基準の更新日かもしれないので、日本語版ではこの日付は手動更新にしておきます。 -->
  
 
<!--
 
<!--
25行目: 25行目:
  
 
* The Theme directory is a repository of GPL (or compatible) licensed WordPress Themes. The review process, by community members, ensures Themes conform to modern web standards, WordPress standards, and are, in general, of high quality.
 
* The Theme directory is a repository of GPL (or compatible) licensed WordPress Themes. The review process, by community members, ensures Themes conform to modern web standards, WordPress standards, and are, in general, of high quality.
* Once a Theme author is ready to release a Theme to the public, they can [http://wordpress.org/extend/themes/upload/ upload it] to the directory system. '''Be sure your Theme meets the [[Theme_Review#Guidelines|Guidelines]] below, and test your theme with the [[Theme Unit Test]] before you upload your Theme'''.
+
* Once a Theme author is ready to release a Theme to the public, they can [http://wordpress.org/extend/themes/upload/ upload it] to the directory system. '''Be sure your Theme meets the [[Theme_Review#Guidelines|Guidelines]] below, and test your theme with the [[Theme Unit Test]] before you upload your Theme'''. Also, check your Theme using the following Tools, which will also be used by the Theme Review Team as part of the review process:
 +
** [[プラグイン:Theme-Check|Theme-Check プラグイン]]/[http://wordpress.org/extend/plugins/theme-check/ en]
 
* Submitted Themes are automatically checked to make sure they meet a few basic requirements.
 
* Submitted Themes are automatically checked to make sure they meet a few basic requirements.
 
* Theme authors receive an automated e-mail message, indicating that their Theme files have been received.
 
* Theme authors receive an automated e-mail message, indicating that their Theme files have been received.
39行目: 40行目:
  
 
=== Responding to a Review <span id="Responding_to_a_Review"></span>===
 
=== Responding to a Review <span id="Responding_to_a_Review"></span>===
<small>'''Note: this section is currently being drafted. Consider it as such until this notice is removed.'''</small>
 
  
 
A theme will be held for approval until items listed as '''Required''' are addressed. Once these issues have been resolved, please re-submit your Theme using the uploader tool, a '''new''' Trac ticket will be generated. Also note, re-submitted Themes are given priority over newly submitted Themes to help speed up the process and to ensure timely updates are available to end-users.
 
A theme will be held for approval until items listed as '''Required''' are addressed. Once these issues have been resolved, please re-submit your Theme using the uploader tool, a '''new''' Trac ticket will be generated. Also note, re-submitted Themes are given priority over newly submitted Themes to help speed up the process and to ensure timely updates are available to end-users.
48行目: 48行目:
 
* Leave a comment on the appropriate Trac ticket(s) related to the Theme;
 
* Leave a comment on the appropriate Trac ticket(s) related to the Theme;
 
* Email the theme-reviewers email list (you may need to join first); or,
 
* Email the theme-reviewers email list (you may need to join first); or,
* Use the #wp-themes channel on irc.freenode.net where you can find the Theme Review team.
+
* Use the #wordpress-themes channel on irc.freenode.net where you can find the Theme Review team.
  
 
== ガイドライン(指針) <span id="Guidelines"></span>==
 
== ガイドライン(指針) <span id="Guidelines"></span>==
67行目: 67行目:
 
* テーマは、通知・警告・エラーがないこと、非推奨(廃止予定の)関数が使われていないことが'''必須'''です。以下の手法の一つを用いてテストしてください。<!-- Themes are '''required''' not to have any notices, warnings, errors; or use of deprecated functions. Test using one of the following methods: -->
 
* テーマは、通知・警告・エラーがないこと、非推奨(廃止予定の)関数が使われていないことが'''必須'''です。以下の手法の一つを用いてテストしてください。<!-- Themes are '''required''' not to have any notices, warnings, errors; or use of deprecated functions. Test using one of the following methods: -->
 
** wp-config.php にて<!-- Via wp-config.php-->: <tt>define(WP_DEBUG, true);</tt>
 
** wp-config.php にて<!-- Via wp-config.php-->: <tt>define(WP_DEBUG, true);</tt>
** プラグインにて<!-- Via Plugin -->: [http://www.wordpress.org/extend/plugins/log-deprecated-notices/ Log Deprecated Notices] および/または [http://www.wordpress.org/extend/plugins/debogger/ Debogger]
+
** プラグインにて<!-- Via Plugin -->: [[プラグイン:Log Deprecated Notices|Log Deprecated Notices]] および/または [[プラグイン:Debogger|Debogger]]
 
* 広く認められている最新(現行?)バージョンの(X)HTMLおよびCSSを利用することが'''必須'''です。('''訳注''': 翻訳が間違っているかもしれません。原文 "current recognized version(s) of (X)HTML and CSS")<!-- Themes are '''required'''  to utilize current recognized version(s) of (X)HTML and CSS. Test using one of the following methods: -->
 
* 広く認められている最新(現行?)バージョンの(X)HTMLおよびCSSを利用することが'''必須'''です。('''訳注''': 翻訳が間違っているかもしれません。原文 "current recognized version(s) of (X)HTML and CSS")<!-- Themes are '''required'''  to utilize current recognized version(s) of (X)HTML and CSS. Test using one of the following methods: -->
 
** [http://validator.w3.org/ W3C XHTML Validator] + [http://jigsaw.w3.org/css-validator/ W3C CSS Validator](バリデータ: 検証プログラム)
 
** [http://validator.w3.org/ W3C XHTML Validator] + [http://jigsaw.w3.org/css-validator/ W3C CSS Validator](バリデータ: 検証プログラム)
74行目: 74行目:
 
* 有効なHTMLドキュメント HEAD が'''必須'''です。<!-- Themes are '''required''' to have a valid HTML document HEAD: -->
 
* 有効なHTMLドキュメント HEAD が'''必須'''です。<!-- Themes are '''required''' to have a valid HTML document HEAD: -->
 
** 有効なDOCTYPE宣言<!-- Valid DOCTYPE declaration -->
 
** 有効なDOCTYPE宣言<!-- Valid DOCTYPE declaration -->
** <nowiki><html></nowiki> タグに [[関数リファレンス/language_attributes|language_attributes()]]/[[:en:Function Reference/language_attributes|en]] が入っていること<!-- <nowiki><html></nowiki> tag includes language_attributes() -->
+
** <nowiki><html></nowiki> タグに [[関数リファレンス/language_attributes|language_attributes()]] が入っていること<!-- <nowiki><html></nowiki> tag includes language_attributes() -->
** <nowiki><head></nowiki> タグ内の正しいXFNプロファイルリンク<!-- Correct XFN profile link in <nowiki><head></nowiki> tag -->: <code><nowiki><head profile="http://gmpg.org/xfn/11"></nowiki></code>
+
** <nowiki><head></nowiki> タグ内の正しいXFNプロファイルリンク<!-- Correct XFN profile link in <nowiki><head></nowiki> tag -->: <code><nowiki><head profile="http://gmpg.org/xfn/11"></nowiki></code> (Exception: Wholly HTML 5 themes must not have the profile, as HTML 5 does not support it.)
 
** 正しい content-type メタ宣言: <nowiki><title></nowiki> タグの前で <code><nowiki><meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /></nowiki><code> または <code><nowiki><meta charset=<?php bloginfo('charset'); ?></nowiki></code> 宣言<!-- Correct content-type meta declaration: <nowiki><meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> OR <meta charset=<?php bloginfo('charset'); ?></nowiki> declared before <nowiki><title></nowiki> -->
 
** 正しい content-type メタ宣言: <nowiki><title></nowiki> タグの前で <code><nowiki><meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /></nowiki><code> または <code><nowiki><meta charset=<?php bloginfo('charset'); ?></nowiki></code> 宣言<!-- Correct content-type meta declaration: <nowiki><meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> OR <meta charset=<?php bloginfo('charset'); ?></nowiki> declared before <nowiki><title></nowiki> -->
 
** 題名と説明用に <nowiki><title></nowiki> 内に <tt>bloginfo()</tt> が入っていること(必要に応じて)<!-- <nowiki><title></nowiki> includes <tt>bloginfo()</tt> for title and description, as appropriate -->
 
** 題名と説明用に <nowiki><title></nowiki> 内に <tt>bloginfo()</tt> が入っていること(必要に応じて)<!-- <nowiki><title></nowiki> includes <tt>bloginfo()</tt> for title and description, as appropriate -->
83行目: 83行目:
 
テーマに以下の本体機能を組み込むことが'''必須'''です。<!-- Theme is '''required''' to incorporate the following WordPress core functionality: -->
 
テーマに以下の本体機能を組み込むことが'''必須'''です。<!-- Theme is '''required''' to incorporate the following WordPress core functionality: -->
 
* 自動フィードリンク<!-- Automatic Feed Links: -->
 
* 自動フィードリンク<!-- Automatic Feed Links: -->
** <tt>[[関数リファレンス/add_theme_support#Feed_Links|add_theme_support('automatic-feed-links’)]]</tt>/[[:en:Function Reference/add_theme_support#Feed_Links|en]]
+
** <tt>[[関数リファレンス/add_theme_support#Feed_Links|add_theme_support('automatic-feed-links’)]]</tt>
 
* ウィジェット:
 
* ウィジェット:
 
** <tt>[[関数リファレンス/dynamic_sidebar|dynamic_sidebar()]]</tt>
 
** <tt>[[関数リファレンス/dynamic_sidebar|dynamic_sidebar()]]</tt>
89行目: 89行目:
 
** <tt>add_action(widgets_init)</tt>, <tt>register_widget()</tt> ([[Widgets API|ウィジェットAPI]]を参照) – (テーマでカスタムウィジェットを利用する場合)
 
** <tt>add_action(widgets_init)</tt>, <tt>register_widget()</tt> ([[Widgets API|ウィジェットAPI]]を参照) – (テーマでカスタムウィジェットを利用する場合)
 
* コメント:
 
* コメント:
** <tt>[[テンプレートタグ/comments_template|comments_template()]]</tt>/[[:en:Function Reference/comments_template|en]]<br /><small>'''(This criterion is a draft for review. Consider it as such until this notice is removed)'''</small>
+
** <tt>[[インクルードタグ/comments_template|comments_template()]]</tt>
 
** <tt>[[テンプレートタグ/wp_list_comments|wp_list_comments()]]</tt>  
 
** <tt>[[テンプレートタグ/wp_list_comments|wp_list_comments()]]</tt>  
 
** <tt>[[テンプレートタグ/comment_class|comment_class()]]</tt>/[[:en:Template Tags/comment_class|en]] – ([[テンプレートタグ/wp_list_comments|wp_list_comments()]] のコールバックをを利用する場合)
 
** <tt>[[テンプレートタグ/comment_class|comment_class()]]</tt>/[[:en:Template Tags/comment_class|en]] – ([[テンプレートタグ/wp_list_comments|wp_list_comments()]] のコールバックをを利用する場合)
 
** <tt>[[テンプレートタグ/comment_form|comment_form()]]</tt>
 
** <tt>[[テンプレートタグ/comment_form|comment_form()]]</tt>
** HTMLドキュメントヘッド内に <tt>[[Migrating Plugins and Themes to 2.7/Enhanced Comment Display#Javascript Comment Functionality|wp_enqueue_script( 'comment-reply' )]]</tt><br /><small>'''(This criterion is a draft for review. Consider it as such until this notice is removed)'''</small><!-- <tt>[[Migrating Plugins and Themes to 2.7/Enhanced Comment Display#Javascript Comment Functionality|wp_enqueue_script( 'comment-reply' )]]</tt> in HTML document head <br /><small>'''(This criterion is a draft for review. Consider it as such until this notice is removed)'''</small> -->
+
** <tt>[[Migrating Plugins and Themes to 2.7/Enhanced Comment Display#Javascript Comment Functionality|wp_enqueue_script( 'comment-reply' )]]</tt><br /><!-- <tt>[[Migrating_Plugins_and_Themes_to_2.7/Enhanced_Comment_Display#Javascript_Comment_Functionality|wp_enqueue_script( 'comment-reply' )]]</tt><br /> -->
  
 
テーマに以下の本体機能を組み込むことが'''推奨'''されますが、''必須ではありません''。ただし、組み込む場合にはWordPress本体の実装に対応しなければなりません。<!-- Theme is '''recommended''' to incorporate the following WordPress core functionality, but is ''not required'' to do so. However, if incorporated, functionality must support the core WordPress implementation: -->
 
テーマに以下の本体機能を組み込むことが'''推奨'''されますが、''必須ではありません''。ただし、組み込む場合にはWordPress本体の実装に対応しなければなりません。<!-- Theme is '''recommended''' to incorporate the following WordPress core functionality, but is ''not required'' to do so. However, if incorporated, functionality must support the core WordPress implementation: -->
 
* ナビゲーションメニュー:
 
* ナビゲーションメニュー:
 
** <tt>[[テンプレートタグ/wp_nav_menu|wp_nav_menu()]]</tt>
 
** <tt>[[テンプレートタグ/wp_nav_menu|wp_nav_menu()]]</tt>
** ''functions.php'' 内に <tt>[[関数リファレンス/register_nav_menu|register_nav_menu()]]</tt>/[[:en:Function_Reference/register_nav_menu|en]] または <tt>[[関数リファレンス/register_nav_menus|register_nav_menus()]]</tt>/[[:en:Function_Reference/register_nav_menus|en]]
+
** ''functions.php'' 内に <tt>[[関数リファレンス/register_nav_menu|register_nav_menu()]]</tt> または <tt>[[関数リファレンス/register_nav_menus|register_nav_menus()]]</tt>
 
** The following functions may only be used for navigation menus as a callback to <tt>wp_nav_menu()</tt>, as part of a <tt>has_nav_menu()</tt> conditional, or similar:  <tt>[[テンプレートタグ/wp_list_pages|wp_list_pages]]</tt>, <tt>[[テンプレートタグ/wp_list_categories|wp_list_categories]]</tt>, <tt>[[テンプレートタグ/wp_page_menu|wp_page_menu]]</tt>, etc.
 
** The following functions may only be used for navigation menus as a callback to <tt>wp_nav_menu()</tt>, as part of a <tt>has_nav_menu()</tt> conditional, or similar:  <tt>[[テンプレートタグ/wp_list_pages|wp_list_pages]]</tt>, <tt>[[テンプレートタグ/wp_list_categories|wp_list_categories]]</tt>, <tt>[[テンプレートタグ/wp_page_menu|wp_page_menu]]</tt>, etc.
 
* 投稿サムネイル:
 
* 投稿サムネイル:
 
** <tt>[[テンプレートタグ/the_post_thumbnail|the_post_thumbnail()]]</tt>
 
** <tt>[[テンプレートタグ/the_post_thumbnail|the_post_thumbnail()]]</tt>
** ''functions.php'' 内に <tt>[[関数リファレンス/add_theme_support#Post_Thumbnails|add_theme_support('post-thumbnails’)]]</tt>/[[:en:Function_Reference/add_theme_support#Post_Thumbnails|en]]
+
** ''functions.php'' 内に <tt>[[関数リファレンス/add_theme_support#Post_Thumbnails|add_theme_support('post-thumbnails’)]]</tt>
 
* カスタムヘッダ:
 
* カスタムヘッダ:
** <tt>[[関数リファレンス/add_custom_image_header|add_custom_image_header()]]</tt>/[[:en:Function_Reference/add_custom_image_header|en]]
+
** <tt>[[関数リファレンス/add_custom_image_header|add_custom_image_header()]]</tt>
 
* カスタム背景:  
 
* カスタム背景:  
** <tt>[[関数リファレンス/add_custom_background|add_custom_background()]]</tt>/[[:en:Function_Reference/add_custom_background|en]]
+
** <tt>[[関数リファレンス/add_custom_background|add_custom_background()]]</tt>
 
* ビジュアルエディタCSS:
 
* ビジュアルエディタCSS:
** <tt>[[関数リファレンス/add_editor_style|add_editor_style())]]</tt>/[[:en:Function_Reference/add_editor_style|en]]
+
** <tt>[[関数リファレンス/add_editor_style|add_editor_style()]]</tt>
 
** ''editor-style.css'' ファイル
 
** ''editor-style.css'' ファイル
  
116行目: 116行目:
  
 
次のテンプレートタグおよびフックは、適切な位置に入れることが'''必須'''です。<!-- The following template tags and hooks are '''required''' to be included where appropriate: -->
 
次のテンプレートタグおよびフックは、適切な位置に入れることが'''必須'''です。<!-- The following template tags and hooks are '''required''' to be included where appropriate: -->
* <tt>[[関数リファレンス/wp_head|wp_head()]]</tt>/[[:en:Function_Reference/wp_head|en]] – (<nowiki></head></nowiki> タグの直前)
+
* <tt>[[関数リファレンス/wp_head|wp_head()]]</tt> – (<nowiki></head></nowiki> タグの直前)
 
* <tt>[[テンプレートタグ/body_class|body_class()]]</tt> – (<nowiki><body></nowiki> タグの内側)
 
* <tt>[[テンプレートタグ/body_class|body_class()]]</tt> – (<nowiki><body></nowiki> タグの内側)
 
* <tt>$content_width</tt>
 
* <tt>$content_width</tt>
* <tt>[[テンプレートタグ/post_class|post_class()]]</tt>/[[:en:Template_Tags/post_class|en]]
+
* <tt>[[テンプレートタグ/post_class|post_class()]]</tt>
 
* <tt>[[テンプレートタグ/wp_link_pages|wp_link_pages()]]</tt>
 
* <tt>[[テンプレートタグ/wp_link_pages|wp_link_pages()]]</tt>
 
* <tt>[[テンプレートタグ/paginate_comments_links|paginate_comments_links()]]</tt>/[[:en:Function_Reference/paginate_comments_links|en]] または <tt>[[テンプレートタグ/previous_comments_link|previous_comments_link()]]</tt>/[[:en:Function_Reference/previous_comments_link|en]]/<tt>[[テンプレートタグ/next_comments_link|next_comments_link()]]</tt>/[[:en:Function_Reference/next_comments_link|en]]
 
* <tt>[[テンプレートタグ/paginate_comments_links|paginate_comments_links()]]</tt>/[[:en:Function_Reference/paginate_comments_links|en]] または <tt>[[テンプレートタグ/previous_comments_link|previous_comments_link()]]</tt>/[[:en:Function_Reference/previous_comments_link|en]]/<tt>[[テンプレートタグ/next_comments_link|next_comments_link()]]</tt>/[[:en:Function_Reference/next_comments_link|en]]
* <tt>[[テンプレートタグ/posts_nav_link|posts_nav_link()]]</tt> または <tt>[[テンプレートタグ/previous_posts_link|previous_posts_link()]]</tt>・<tt>[[テンプレートタグ/next_posts_link|next_posts_link()]]</tt>
+
* <tt>[[テンプレートタグ/posts_nav_link|posts_nav_link()]]</tt> または <tt>[[テンプレートタグ/previous_posts_link|previous_posts_link()]]</tt>・<tt>[[テンプレートタグ/next_posts_link|next_posts_link()]]</tt> または <tt>[[テンプレートタグ/paginate_links|paginate_links()]]</tt>/[[:en:Function_Reference/paginate_links|en]]
* <tt>[[関数リファレンス/wp_footer|wp_footer()]]</tt>/[[:en:Function_Reference/wp_footer|en]] – (<nowiki></body></nowiki> タグの直前)
+
* <tt>[[関数リファレンス/wp_footer|wp_footer()]]</tt> – (<nowiki></body></nowiki> タグの直前)
  
標準テンプレートファイルをテーマに組み込む場合、正しいテンプレートタグで呼び出すことが'''必須'''です。<!-- Standard template files, if incorporated into the Theme, are '''required''' to be called using the correct template tag: -->
+
==== ファイルの読み込み <span id="Including_Files"></span>====
* ヘッダ: <tt>[[関数リファレンス/get_header|get_header()]]</tt>/[[:en:Function_Reference/get_header|en]]
+
** (注) テーマで <tt>get_header()</tt> を使う場合、対応する ''header.php'' ファイルがあることが'''必須'''です。<!-- Note: if a Theme uses <tt>get_header()</tt>, it is '''required''' to have a corresponding ''header.php'' file. -->
+
* サイドバー: <tt>[[関数リファレンス/get_sidebar|get_sidebar()]]</tt>/[[:en:Function_Reference/get_sidebar|en]]
+
** (注)テーマで <tt>get_sidebar()</tt> を使う場合、対応する ''sidebar.php'' ファイルがあることが'''必須'''です。<!-- Note: if a Theme uses <tt>get_sidebar()</tt>, it is '''required''' to have a corresponding ''sidebar.php'' file. -->
+
* フッタ: <tt>[[関数リファレンス/get_footer|get_footer()]]</tt>/[[:en:Function_Reference/get_footer|en]]
+
** (注)テーマで <tt>get_footer()</tt> を使う場合、対応する ''footer.php'' ファイルがあることが'''必須'''です。<!-- Note: if a Theme uses <tt>get_footer()</tt>, it is '''required''' to have a corresponding ''footer.php'' file. -->
+
* コメント: <tt>[[テンプレートタグ/comments_template|comments_template()]]</tt>/[[:en:Function_Reference/comments_template|en]]
+
** (注)テーマで <tt>comments_template()</tt> を使う場合、対応する ''comments.php'' ファイルがあることが'''必須'''です。<!-- Note: if a Theme uses <tt>comments_template()</tt>, it is '''required''' to have a corresponding ''comments.php'' file.
+
* 検索フォーム: <tt>[[関数リファレンス/get_search_form|get_search_form()]]</tt>/[[:en:Function_Reference/get_search_form|en]]
+
* ログインフォーム: <tt>[[テンプレートタグ/wp_login_form|wp_login_form()]]</tt>
+
* カスタムテーマテンプレートファイル: <tt>[[関数リファレンス/get_template_part|get_template_part()]]</tt>
+
** ''(注)''テーマテンプレート部分ファイルを呼ぶために <code>include( TEMPLATEPATH . '/file.php' )</code> を使うべきではありません(やむを得ない場合を除く)。''<!-- ''Note: <code>include( TEMPLATEPATH . '/file.php' )</code> should not be used to call Theme template part files, unless absolutely necessary.'' -->
+
  
サイト情報をテーマに組み込む場合、正しいテンプレートタグで呼び出すことが'''必須'''です。<br />
+
* テーマに組み込む場合、標準テンプレートファイルを正しいテンプレートタグを用いて呼び出すことが'''必須'''です。下記[[#Theme_Template_Files|テーマテンプレートファイル]]節も参照のこと。<!-- If incorporated into the Theme, standard template files are '''required''' to be called using the correct template tag. Refer to the [[Theme_Review#Theme_Template_Files|Theme Template Files]] section below. -->
<small>(この一覧は不完全です。全リストは <tt>[[テンプレートタグ/bloginfo|bloginfo()]]</tt> を参照のこと)</small><br />
+
* If incorporated into the Theme, custom template files are '''required''' to be called using <tt>[[関数リファレンス/get_template_part|get_template_part()]]</tt>
<small>'''(注) この節は草稿中です。 Consider it as such until this notice is removed.'''</small><!-- Site information, if incorporated into the Theme, is '''required''' to be called using the correct template tag:<br />
+
* Legacy Theme Support
<small>(This list is not exhaustive. Refer to <tt>[[テンプレートタグ/bloginfo|bloginfo()]]</tt> for the full list)</small><br />
+
** Themes are '''required''' to include all template files called within the Theme, rather than relying upon legacy Theme support. If a Theme uses any of the following functions, it is '''required''' to include the appropriate template file:
<small>'''Note: this section is currently being drafted. Consider it as such until this notice is removed.'''</small> -->
+
*** <tt>get_footer()</tt>: ''footer.php''
* ホームURL: <tt>[[テンプレートタグ/bloginfo|bloginfo( 'url' )]]</tt><br />''(注) テーマでは <tt>[[テンプレートタグ/home_url|echo home_url()]]</tt> の使用を'''推奨'''。''<!-- <small>''Note: Themes are '''recommended''' to use</small> <tt>[[テンプレートタグ/home_url|echo home_url()]]</tt>'' -->
+
*** <tt>get_header()</tt>: ''header.php''
* WordPress URL: <tt>[[テンプレートタグ/bloginfo|bloginfo( 'wpurl' )]]</tt><br />''(注) テーマでは <tt>[[テンプレートタグ/site_url|echo site_url()]]</tt> の使用を'''推奨'''。''<!-- <small>''Note: Themes are '''recommended''' to use</small> <tt>[[テンプレートタグ/site_url|echo site_url()]]</tt>'' -->
+
*** <tt>get_sidebar()</tt>: ''sidebar.php''
* サイト名: <tt>[[テンプレートタグ/bloginfo|bloginfo( 'name' )]]</tt>
+
* <code>include( TEMPLATEPATH . '/file.php' )</code> should not be used to call Theme template part files unless absolutely necessary.
* サイト説明文: <tt>[[テンプレートタグ/bloginfo|bloginfo( 'description' )]]</tt>
+
 
* スタイルシートディレクトリURL: <tt>[[テンプレートタグ/bloginfo|bloginfo( 'stylesheet_directory' )]]</tt><br />''(注) テーマでは <tt>[[関数リファレンス/get_stylesheet_directory|get_stylesheet_directory()]]</tt>/[[:en:Function_Reference/get_stylesheet_directory|en]] の使用を'''推奨'''。''<!-- <small>''Note: Themes are '''recommended''' to use</small> <tt>[[関数リファレンス/get_stylesheet_directory|get_stylesheet_directory()]]</tt>/[[:en:Function_Reference/get_stylesheet_directory|en]] -->
+
==== サイト情報 <span id="Site_Information"></span>====
* スタイルシートURL: <tt>[[テンプレートタグ/bloginfo|bloginfo( 'stylesheet_url' )]]</tt><br />''(注) テーマでは <tt>[[関数リファレンス/get_stylesheet_uri|get_stylesheet_uri()]]</tt>/[[:en:Function_Reference/get_stylesheet_uri|en]] の使用を'''推奨'''''<!-- <small>''Note: Themes are '''recommended''' to use</small> <tt>[[関数リファレンス/get_stylesheet_uri|get_stylesheet_uri()]]</tt>/[[:en:Function_Reference/get_stylesheet_uri|en]]'' -->
+
テーマに組み込む場合、サイト情報を正しいテンプレートタグを用いて呼び出すことが'''必須'''です。<br />
* 親テーマディレクトリURL: <tt>[[テンプレートタグ/bloginfo|bloginfo( 'template_directory' )]]</tt> or <tt>[[テンプレートタグ/bloginfo|bloginfo( 'template_url' )]]</tt><br />''(注) テーマでは <tt>[[関数リファレンス/get_template_directory|get_template_directory()]]</tt>/[[:en:Function_Reference/get_template_directory|en]] の使用を'''推奨'''。''<!-- <small>''Note: Themes are '''recommended''' to use</small> <tt>[[関数リファレンス/get_template_directory|get_template_directory()]]</tt>/[[:en:Function_Reference/get_template_directory|en]]'' -->
+
<small>'''(Note: this section is currently being drafted. Consider it as such until this notice is removed. - 20 Oct 2010)'''</small><br/><!-- If incorporated into the Theme, site information is '''required''' to be called using the correct template tag:<br />
* 親テーマ名: <tt>[[関数リファレンス/get_template|get_template()]]</tt>/[[:en:Function_Reference/get_template|en]]
+
<small>'''(Note: this section is currently being drafted. Consider it as such until this notice is removed. - 20 Oct 2010)'''</small><br/> -->
* キャラクタセット(文字コードセット)<!-- Character Set --><tt>[[テンプレートタグ/bloginfo|bloginfo( 'charset' )]]</tt>
+
 
* HTML種別: <tt>[[テンプレートタグ/bloginfo|bloginfo( 'html_type' )]]</tt>
+
* get_option( 'home' ) は使用できません。替わりに <tt>[[テンプレートタグ/home_url|home_url()]]</tt> を使うこと。<!-- get_option( 'home' ) should not be used, <tt>[[Function_Reference/home_url|home_url()]]</tt> should be used instead -->
* 言語: <tt>[[テンプレートタグ/bloginfo|bloginfo( 'language' )]]</tt> (en-US) または <tt>[[関数リファレンス/get_locale|get_locale()]]</tt>/[[:en:Function_Reference/get_locale|en]] (en_US)
+
* get_option( 'site_url' ) は使用できません。替わりに <tt>[[テンプレートタグ/site_url|site_url()]]</tt> を使うこと。<!-- get_option( 'site_url' ) should not be used, <tt>[[Function_Reference/site_url|site_url()]]</tt> should be used instead -->
* 書字方向<!-- Text Direction --><tt>[[テンプレートタグ/bloginfo|bloginfo( 'text_direction' )]]</tt><br />''(注) テーマ内の条件文では <tt>[[関数リファレンス/is_rtl|is_rtl()]]</tt>/[[:en:Function_Reference/is_rtl|en]] の使用を'''推奨'''''<!-- <small>''Note: Themes are '''recommended''' to use</small> <tt>[[関数リファレンス/is_rtl|is_rtl()]]</tt>/[[:en:Function_Reference/is_rtl|en]] <small>for conditional statements</small>'' -->
+
** <small>see <tt>[http://core.trac.wordpress.org/ticket/9008 Trac Ticket #9008]</tt> for additional information related to this use of get_option() versus *_url</small>
* WordPressバージョン: <tt>[[テンプレートタグ/bloginfo|bloginfo( 'version' )]]</tt>
+
 
* フィードリンク: <tt>[[テンプレートタグ/bloginfo|bloginfo( 'feed_url' )]]</tt> (where <tt>feed_url</tt> is <tt>rss_url</tt>, <tt>rss2_url</tt>, <tt>atom_url</tt>)<br />''(注) テーマでは <tt>[[テンプレートタグ/get_feed_link|get_feed_link( 'feed' )]]</tt>/[[:en:Function_Reference/get_feed_link|en]] の使用を'''推奨'''(<tt>feed</tt> が <tt>rss</tt>・<tt>rss2</tt>・<tt>atom</tt> の場合)''<!-- <small>''Note: Themes are '''recommended''' to use</small> <tt>[[テンプレートタグ/get_feed_link|get_feed_link( 'feed' )]]</tt>/[[:en:Function_Reference/get_feed_link|en]] (where <tt>feed</tt> is <tt>rss</tt>, <tt>rss2</tt>, <tt>atom</tt>)'' -->
+
<small>(This list is not exhaustive. Refer to <tt>[[Function_Reference/bloginfo|bloginfo()]]</tt> for the full list)</small><br />
 +
 
 +
* キャラクタセット(文字コードセット)<!-- Character Set -->: <tt>[[テンプレートタグ/bloginfo|bloginfo( 'charset' )]]</tt>
 +
* ホームURL<!-- Home URL -->:
 +
** <tt>[[テンプレートタグ/bloginfo|bloginfo( 'url' )]]</tt>
 +
** <tt>[[テンプレートタグ/home_url|echo home_url()]]</tt>'' <small>('''推奨''')</small>
 +
* HTML種別<!-- HTML type -->: <tt>[[テンプレートタグ/bloginfo|bloginfo( 'html_type' )]]</tt>
 +
* フィードリンク<!-- Feed Links -->:
 +
** <tt>[[テンプレートタグ/bloginfo|bloginfo( 'feed_url' )]]</tt> (where <tt>feed_url</tt> is <tt>rss_url</tt>, <tt>rss2_url</tt>, <tt>atom_url</tt>)
 +
** <tt>[[テンプレートタグ/get_feed_link|get_feed_link( 'feed' )]]</tt>/[[:en:Function_Reference/get_feed_link|en]] (where <tt>feed</tt> is <tt>rss</tt>, <tt>rss2</tt>, <tt>atom</tt>)'' <small>('''推奨''')</small>
 +
* 言語<!-- Language -->:
 +
** <tt>[[テンプレートタグ/bloginfo|bloginfo( 'language' )]]</tt> (en-US)
 +
** <tt>[[Function_Reference/get_template|get_locale()]]</tt>/[[:en:Function_Reference/get_template|en]] (en_US)
 +
* 親テーマディレクトリURL<!-- Parent Theme Directory URL -->:
 +
** <tt>[[テンプレートタグ/bloginfo|bloginfo( 'template_directory' )]]</tt>
 +
** <tt>[[テンプレートタグ/bloginfo|bloginfo( 'template_url' )]]</tt>
 +
** <tt>[[関数リファレンス/get_template_directory_uri|get_template_directory_uri()]]</tt>/[[:en:Function_Reference/get_template_directory_uri|en]]'' <small>('''推奨''')</small>
 +
* 親テーマ名<!-- Parent Theme Name -->: <tt>[[Function_Reference/get_template|get_template()]]</tt>/[[:en:Function_Reference/get_template|en]]
 +
* サイト説明文<!-- Site Description -->: <tt>[[テンプレートタグ/bloginfo|bloginfo( 'description' )]]</tt>
 +
* サイト名<!-- Site Title -->: <tt>[[テンプレートタグ/bloginfo|bloginfo( 'name' )]]</tt>
 +
* スタイルシートディレクトリURL<!-- Style Sheet Directory URL -->:
 +
** <tt>[[テンプレートタグ/bloginfo|bloginfo( 'stylesheet_directory' )]]</tt>
 +
** <tt>[[関数リファレンス/get_stylesheet_directory_uri|get_stylesheet_directory_uri()]]</tt>/[[:en:Function_Reference/get_stylesheet_directory_uri|en]]''  <small>('''推奨''')</small>
 +
* スタイルシートURL<!-- Style Sheet URL -->:
 +
** <tt>[[テンプレートタグ/bloginfo|bloginfo( 'stylesheet_url' )]]</tt>
 +
** <tt>[[関数リファレンス/get_stylesheet_uri|get_stylesheet_uri()]]</tt>/[[:en:Function_Reference/get_stylesheet_uri|en]]'' <small>('''推奨''')</small>
 +
* 書字方向<!-- Text Direction -->:
 +
** <tt>[[テンプレートタグ/bloginfo|bloginfo( 'text_direction' )]]</tt>
 +
** <tt>[[関数リファレンス/is_rtl|is_rtl()]]</tt>/[[:en:Function_Reference/is_rtl|en]] <small>for conditional statements</small>'' <small>('''推奨''')</small>
 +
* WordPress URL:
 +
** <tt>[[テンプレートタグ/bloginfo|bloginfo( 'wpurl' )]]</tt>
 +
** <tt>[[テンプレートタグ/site_url|echo site_url()]]</tt>'' <small>('''推奨''')</small>
 +
* WordPressバージョン<!-- WordPress Version-->: <tt>[[テンプレートタグ/bloginfo|bloginfo( 'version' )]]</tt>
  
 
=== WordPress定義CSSクラス <span id="WordPress-Defined_CSS_Classes"></span>===
 
=== WordPress定義CSSクラス <span id="WordPress-Defined_CSS_Classes"></span>===
171行目: 191行目:
 
** <tt>.gallery-caption</tt>
 
** <tt>.gallery-caption</tt>
  
次の共通クラスにも対応すべきです。<!-- Themes should also support these common classes: -->
+
WordPressが生成する次のクラスに対応することが'''推奨'''されます。<!-- Themes are '''recommended''' to support the following WordPress-generated classes: -->
 
* 投稿クラス:
 
* 投稿クラス:
 
** <tt>.sticky</tt>
 
** <tt>.sticky</tt>
182行目: 202行目:
 
* index.php
 
* index.php
 
* comments.php
 
* comments.php
 +
** Must be included using <tt>[[インクルードタグ/comments_template|comments_template()]]</tt>
 
* screenshot.png (this should be a "reasonable facsimile" of the Theme after it is initially activated with default options)
 
* screenshot.png (this should be a "reasonable facsimile" of the Theme after it is initially activated with default options)
 
* style.css
 
* style.css
189行目: 210行目:
 
* archive.php
 
* archive.php
 
* footer.php
 
* footer.php
 +
** Must be included using <tt>[[インクルードタグ/get_footer|get_footer()]]</tt>/[[:en:Function Reference/get_footer|en]]
 
* header.php
 
* header.php
 +
** Must be included using <tt>[[インクルードタグ/get_header|get_header()]]</tt>/[[:en:Function Reference/get_header|en]]
 
* page.php  
 
* page.php  
 
* search.php
 
* search.php
* sidebar.php (または 右記のような適切な変名: sidebar-left.php; sidebar-right.php; sidebar-footer.php 等)<!-- (or appropriate variations such as: sidebar-left.php; sidebar-right.php; sidebar-footer.php; etc.) -->
+
* sidebar.php
 +
** (注) または 右記のような適切な変名: sidebar-left.php; sidebar-right.php; sidebar-footer.php <!-- Note: or appropriate variations such as: sidebar-left.php; sidebar-right.php; sidebar-footer.php; etc. -->
 +
** Must be included using <tt>[[インクルードタグ/get_sidebar|get_sidebar()]]</tt>/[[:en:Function Reference/get_sidebar|en]]
 
* single.php
 
* single.php
  
204行目: 229行目:
 
* tag.php
 
* tag.php
  
登録するテーマには次のような名前のファイルを'''入れない'''ことが'''必須'''です。<!-- Submitted theme are '''required''' not to include files named like the following: -->
+
Themes are '''recommended''' to use core markup for the following forms, using the indicated template tag:
 +
* Login Form: Must be included using <tt>[[テンプレートタグ/wp_login_form|wp_login_form()]]</tt>
 +
* Search Form: Must be included using <tt>[[インクルードタグ/get_search_form|get_search_form()]]</tt>/[[:en:Function_Reference/get_search_form|en]]
 +
** Themes may '''optionally''' customize the search form, as searchform.php
 +
 
 +
登録するテーマには次のような名前のファイルを'''入れない'''ことが'''推奨'''されます。However, if such files are used, Themes are '''required''' to provide end-user documentation explaining how to use them:<!-- Submitted theme are '''recommended''' not to include files named like the following. However, if such files are used, Themes are '''required''' to provide end-user documentation explaining how to use them: -->
  
 
* page-''foobar''.php
 
* page-''foobar''.php
219行目: 249行目:
  
 
* 利用許諾条件
 
* 利用許諾条件
** テーマ(PHP・HTML・CSS・画像・フォント・アイコンを含む)は100% GPLライセンスまたは[http://www.gnu.org/philosophy/license-list.html#GPLCompatibleLicenses/ GPL互換ライセンス]であることが'''必須'''です。<!-- Themes, including all PHP, HTML, CSS, images, fonts, and icons, are '''required''' to be 100% GPL-licensed, or use a [http://www.gnu.org/philosophy/license-list.html#GPLCompatibleLicenses/ GPL-compatible license]. -->
+
** テーマは100% GPLライセンスまたは[http://www.gnu.org/philosophy/license-list.html#GPLCompatibleLicenses/ GPL互換ライセンス]であることが'''必須'''です。This includes all PHP, HTML, CSS, images, fonts, icons, and everything else. '''All''' of the theme must be GPL-Compatible.<!-- Themes are '''required''' to be 100% GPL-licensed, or use a [http://www.gnu.org/philosophy/license-list.html#GPLCompatibleLicenses/ GPL-compatible license]. This includes all PHP, HTML, CSS, images, fonts, icons, and everything else. '''All''' of the theme must be GPL-Compatible. -->
 
** Themes are '''required''' to declare their license explicitly, using one of the following methods:
 
** Themes are '''required''' to declare their license explicitly, using one of the following methods:
 
*** Adding ''License'' and ''License URI'' header slugs to style.css
 
*** Adding ''License'' and ''License URI'' header slugs to style.css
271行目: 301行目:
 
=== テーマ名 <span id="Theme_Name"></span>===
 
=== テーマ名 <span id="Theme_Name"></span>===
  
<small>'''Note: this section is currently being drafted. Consider it as such until this notice is removed.'''</small><br />Theme Name Guidelines are '''required''' for new Themes, and '''recommended''' for existing Themes.
+
Theme Name Guidelines are '''required''' for new Themes, and '''recommended''' for existing Themes.
 
* Themes are '''not''' to use ''WordPress'' in their name. For example ''My WordPress Theme'', ''WordPress AwesomeSauce'', and ''AwesomeSauce for WordPress'' would not be accepted. After all, this ''is'' the ''WordPress'' Theme repository.
 
* Themes are '''not''' to use ''WordPress'' in their name. For example ''My WordPress Theme'', ''WordPress AwesomeSauce'', and ''AwesomeSauce for WordPress'' would not be accepted. After all, this ''is'' the ''WordPress'' Theme repository.
 
** Themes are '''not''' to use the term ''Theme'' in their name, such as: ''AwesomeSauce Theme''. Same reason as above ... it's a ''Theme'' repository.
 
** Themes are '''not''' to use the term ''Theme'' in their name, such as: ''AwesomeSauce Theme''. Same reason as above ... it's a ''Theme'' repository.
277行目: 307行目:
 
* Themes are '''not''' to use version-specific, markup-related terms (e.g. ''HTML5'', ''CSS3'', etc.) in their name.
 
* Themes are '''not''' to use version-specific, markup-related terms (e.g. ''HTML5'', ''CSS3'', etc.) in their name.
 
* Themes are '''not''' to use Theme author/developer credit text in their name. For example ''AwesomeSauce by John Q. Developer'' (makes for a much better credit link); or, SEO/spam-seeded text, such as: ''AwesomeSauce by Awesome Free WP Themes'' (this is just not going to pass).
 
* Themes are '''not''' to use Theme author/developer credit text in their name. For example ''AwesomeSauce by John Q. Developer'' (makes for a much better credit link); or, SEO/spam-seeded text, such as: ''AwesomeSauce by Awesome Free WP Themes'' (this is just not going to pass).
 +
 +
Also note, theme names as defined in the style.css header block will be used as the theme slug in the WordPress Extend Theme repository. All names will be turned to lower case and spaces will be replaced with hyphens. For example: 'CamelCase Name' would be 'camelcase-name'.
  
 
=== クレジットリンク <span id="Credit_links"></span>===
 
=== クレジットリンク <span id="Credit_links"></span>===
352行目: 384行目:
 
=== PHP/WordPress検証ツール  <span id="PHP.2FWordPress_Validation_Tools"></span>===
 
=== PHP/WordPress検証ツール  <span id="PHP.2FWordPress_Validation_Tools"></span>===
  
* [http://www.wordpress.org/extend/plugins/log-deprecated-notices/ Log Deprecated Notices プラグイン] (テーマ/プラグインに含まれる非推奨WordPress関数の通知を記録)<!-- (Logs notices of deprecated WordPress functions found in Themes/Plugins) -->
+
* [[プラグイン:Log Deprecated Notices|Log Deprecated Notices プラグイン]] (テーマ/プラグインに含まれる非推奨WordPress関数の通知を記録)<!-- (Logs notices of deprecated WordPress functions found in Themes/Plugins) -->
* [http://www.wordpress.org/extend/plugins/debogger/ Debogger プラグイン] (PHPエラーおよびXHTMLバリデーションステータスを報告)<!--  (Reports PHP errors and XHTML validation status) -->
+
* [[プラグイン:Debogger|Debogger プラグイン]] (PHPエラーおよびXHTMLバリデーションステータスを報告)<!--  (Reports PHP errors and XHTML validation status) -->
  
{{原文|Theme Review|92934}}<!-- 16:17, 13 September 2010 Chipbennett 版 -->
+
{{原文|Theme Review|94940}}<!-- 00:45, 14 November 2010 Jeffr0 版 -->
  
 
<!-- {{DEFAULTSORT:}} -->
 
<!-- {{DEFAULTSORT:}} -->

2010年11月15日 (月) 08:17時点における版

このページ「テーマレビュー」は未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています

ページ名検討中: このページ名「テーマレビュー」について改名が提案されています。ご意見をお寄せください。

Theme Review

最終改訂日: 2010年11月14日

WordPressテーマディレクトリには、誰でもGPLまたは互換ライセンスのWordPressテーマを登録できます。新しいテーマは、公開する前にWordPressコミュニティのメンバーによって点検されます。このページでは、登録されたテーマの評価の過程と範囲、テーマ審査員向けガイドライン(指針)について説明します。

各バージョンの変更点

WordPressの各新バージョンの公開により、テーマ審査工程が更新されます。新たに登録されたテーマの最新WordPress特性・機能対応を確実にするには、WordPress新バージョンの一箇月以降に登録されるテーマは全て、更新後の審査基準に対応していなければなりません。

WordPressバージョン別テーマ審査基準変更点の一覧を参照してください。

テーマ審査工程と範囲

  • The Theme directory is a repository of GPL (or compatible) licensed WordPress Themes. The review process, by community members, ensures Themes conform to modern web standards, WordPress standards, and are, in general, of high quality.
  • Once a Theme author is ready to release a Theme to the public, they can upload it to the directory system. Be sure your Theme meets the Guidelines below, and test your theme with the Theme Unit Test before you upload your Theme. Also, check your Theme using the following Tools, which will also be used by the Theme Review Team as part of the review process:
  • Submitted Themes are automatically checked to make sure they meet a few basic requirements.
  • Theme authors receive an automated e-mail message, indicating that their Theme files have been received.
  • Submitted Themes are assigned a ticket in the Theme Review Trac system, and entered into a review queue.
  • Theme reviewers test Themes, using the method described below.
  • While the goal of the design review is to ensure that Themes are functional and meet standards much of the review will surround technical issues. Themes will be checked for other factors, such as ensuring that all standards are met to a satisfactory standard, and that designs are logical, and user-friendly.
  • Theme reviewers will provide feedback to Theme authors in a timely manner; and, Theme authors will have the opportunity to revise their Themes at any time.
  • Theme reviewers will either approve Themes or contact Theme authors with feedback and/or questions.
  • Theme authors can submit any changes via the upload page they used when they initially uploaded the Theme, either before or after a Theme has been approved.
  • If a Theme is not initially approved, Theme authors can rework the Theme and resubmit it.

If you have any questions or suggestions about the process, don't hesitate to contact us. Thank you for your contributions!

Responding to a Review

A theme will be held for approval until items listed as Required are addressed. Once these issues have been resolved, please re-submit your Theme using the uploader tool, a new Trac ticket will be generated. Also note, re-submitted Themes are given priority over newly submitted Themes to help speed up the process and to ensure timely updates are available to end-users.

Theme developer questions, comments, and feedback are always welcome ... and encouraged!
Please use one of the following methods:

  • Leave a comment on the appropriate Trac ticket(s) related to the Theme;
  • Email the theme-reviewers email list (you may need to join first); or,
  • Use the #wordpress-themes channel on irc.freenode.net where you can find the Theme Review team.

ガイドライン(指針)

  • テーマ登録時点における最新のガイドラインを満たす必要があります。
  • ガイドラインはWordPressのメジャーバージョン公開後に更新されます。

コード品質

WordPressテーマの標準的な書き方や最良の方法については、テーマ開発およびWordPressコーディング基準CSSコーディング基準/enサイトのデザインとレイアウトを見直してください。

  • テーマは、通知・警告・エラーがないこと、非推奨(廃止予定の)関数が使われていないことが必須です。以下の手法の一つを用いてテストしてください。
  • 広く認められている最新(現行?)バージョンの(X)HTMLおよびCSSを利用することが必須です。(訳注: 翻訳が間違っているかもしれません。原文 "current recognized version(s) of (X)HTML and CSS")
  • JavaScriptエラーが発生しないことが必須です。
  • 有効なHTMLドキュメント HEAD が必須です。
    • 有効なDOCTYPE宣言
    • <html> タグに language_attributes() が入っていること
    • <head> タグ内の正しいXFNプロファイルリンク: <head profile="http://gmpg.org/xfn/11"> (Exception: Wholly HTML 5 themes must not have the profile, as HTML 5 does not support it.)
    • 正しい content-type メタ宣言: <title> タグの前で <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /><code> または <code><meta charset=<?php bloginfo('charset'); ?> 宣言
    • 題名と説明用に <title> 内に bloginfo() が入っていること(必要に応じて)

機能

テーマに以下の本体機能を組み込むことが必須です。

テーマに以下の本体機能を組み込むことが推奨されますが、必須ではありません。ただし、組み込む場合にはWordPress本体の実装に対応しなければなりません。

テンプレートタグおよびフック

テーマで使うテンプレートタグおよびフックを適切に実装することが必須です。

次のテンプレートタグおよびフックは、適切な位置に入れることが必須です。

ファイルの読み込み

  • テーマに組み込む場合、標準テンプレートファイルを正しいテンプレートタグを用いて呼び出すことが必須です。下記テーマテンプレートファイル節も参照のこと。
  • If incorporated into the Theme, custom template files are required to be called using get_template_part()
  • Legacy Theme Support
    • Themes are required to include all template files called within the Theme, rather than relying upon legacy Theme support. If a Theme uses any of the following functions, it is required to include the appropriate template file:
      • get_footer(): footer.php
      • get_header(): header.php
      • get_sidebar(): sidebar.php
  • include( TEMPLATEPATH . '/file.php' ) should not be used to call Theme template part files unless absolutely necessary.

サイト情報

テーマに組み込む場合、サイト情報を正しいテンプレートタグを用いて呼び出すことが必須です。
(Note: this section is currently being drafted. Consider it as such until this notice is removed. - 20 Oct 2010)

  • get_option( 'home' ) は使用できません。替わりに home_url() を使うこと。
  • get_option( 'site_url' ) は使用できません。替わりに site_url() を使うこと。
    • see Trac Ticket #9008 for additional information related to this use of get_option() versus *_url

(This list is not exhaustive. Refer to bloginfo() for the full list)

WordPress定義CSSクラス

注: この節は草稿中です。 Consider it as such until this notice is removed.
以下のWordPress定義CSSクラス最新)または同様の要素への対応が必須です。

  • 配置クラス:
    • .aligncenter
    • .alignleft
    • .alignright
  • キャプション関連クラス:
    (画像などの説明文)
    • .wp-caption
    • .wp-caption-text
    • .gallery-caption

WordPressが生成する次のクラスに対応することが推奨されます。

  • 投稿クラス:
    • .sticky
  • コメントクラス
    • .bypostauthor

テーマテンプレートファイル

最低限、入れることが必須のもの:

  • index.php
  • comments.php
  • screenshot.png (this should be a "reasonable facsimile" of the Theme after it is initially activated with default options)
  • style.css

入れることが推奨されるもの:

  • 404.php
  • archive.php
  • footer.php
  • header.php
  • page.php
  • search.php
  • sidebar.php
    • (注) または 右記のような適切な変名: sidebar-left.php; sidebar-right.php; sidebar-footer.php 等
    • Must be included using get_sidebar()/en
  • single.php

任意のもの:

  • attachment.php
  • author.php
  • category.php
  • date.php
  • editor-style.css
  • image.php
  • tag.php

Themes are recommended to use core markup for the following forms, using the indicated template tag:

  • Login Form: Must be included using wp_login_form()
  • Search Form: Must be included using get_search_form()/en
    • Themes may optionally customize the search form, as searchform.php

登録するテーマには次のような名前のファイルを入れないことが推奨されます。However, if such files are used, Themes are required to provide end-user documentation explaining how to use them:

  • page-foobar.php
  • category-foobar.php
  • tag-foobar.php
  • taxonomy-foobar.php

注: 一般公開するテーマでこの命名法を避ける理由は、利用者が「foobar」というスラッグのページやカテゴリーを作成すると、デフォルトテンプレートではなく、予期せずこのテンプレートが適用されてしまうためです。テンプレート階層 - ページ表示を参照してください。

ライセンシング(使用許諾)

  • 利用許諾条件
    • テーマは100% GPLライセンスまたはGPL互換ライセンスであることが必須です。This includes all PHP, HTML, CSS, images, fonts, icons, and everything else. All of the theme must be GPL-Compatible.
    • Themes are required to declare their license explicitly, using one of the following methods:
      • Adding License and License URI header slugs to style.css
      • Including a license.txt file with the Theme
    • Use this formatting for license information as in this example:
License: GNU General Public License v2.0
License URI: http://www.gnu.org/licenses/gpl-2.0.html

テーマ名

Theme Name Guidelines are required for new Themes, and recommended for existing Themes.

  • Themes are not to use WordPress in their name. For example My WordPress Theme, WordPress AwesomeSauce, and AwesomeSauce for WordPress would not be accepted. After all, this is the WordPress Theme repository.
    • Themes are not to use the term Theme in their name, such as: AwesomeSauce Theme. Same reason as above ... it's a Theme repository.
    • Themes may use the WP acronym in the Theme name, such as WP AwesomeSauce.
  • Themes are not to use version-specific, markup-related terms (e.g. HTML5, CSS3, etc.) in their name.
  • Themes are not to use Theme author/developer credit text in their name. For example AwesomeSauce by John Q. Developer (makes for a much better credit link); or, SEO/spam-seeded text, such as: AwesomeSauce by Awesome Free WP Themes (this is just not going to pass).

Also note, theme names as defined in the style.css header block will be used as the theme slug in the WordPress Extend Theme repository. All names will be turned to lower case and spaces will be replaced with hyphens. For example: 'CamelCase Name' would be 'camelcase-name'.

クレジットリンク

  • Themes may optionally designate Author URI and Theme URI in style.css.
    • Theme URI, if used, is required to link to a page specifically related to the Theme.
    • Author URI, if used, is required to link to an author's personal web site or project/development website.
    • Themes are recommended to provide at least one of these two links, in order to ensure Theme users have a point of contact for the Theme developer.
  • Themes may optionally include a public-facing credit link in the Theme footer.
    • If used, Themes are required to include no more than one such footer credit link.
    • Credit link, if used, is required to use either Theme URI or Author URI.
    • Credit link anchor text and title are required to be relevant and appropriate with respect to the linked site. Spam or SEO-seeded anchor text and titles may subject Themes to automatic rejection.
  • Themes may optionally include a Theme Option to display additional credit links or text.
    Note: this section is currently being drafted. Consider it as such until this notice is removed.
    • If used, such options are required to be opt-in (i.e. disabled by default, rather than enabled)
    • If used, such options are recommended to provide user-modifiable text/links, rather than merely providing an enable/disable option
    • In general, such opt-in credit text/links are exempted from above-listed requirements regarding relevance and appropriateness. However, the Theme Review team reserves the right to prohibit such optional text/links if, at its sole discretion, a Theme abuses this option.
  • Since Themes are GPL (or compatible), Theme authors are prohibited from requiring that these links be kept by Theme users. An appropriate way to ask for Theme users to keep a link to the author's website is as follows: "It is completely optional, but if you like the Theme I would appreciate it if you keep the credit link at the bottom."
  • Any exception to these requirements must be approved by the Theme Review team.

テーマ説明書

Please be clear about the following in your Theme documentation (a README file included with your Theme helps many users over any potential stumbling blocks):

  1. Indicate precisely what your Theme and template files will achieve.
  2. Adhere to the naming conventions of the standard Theme hierarchy.
  3. Indicate deficiencies in your Themes, if any.
  4. Clearly reference any special modifications in comments/en within the template and stylesheet files. Add comments to modifications, template sections, and CSS styles, especially those which cross template files.
  5. If you have any special requirements, which may include custom Rewrite Rules, or the use of some additional, special templates, images or files, please explicitly state the steps of action a user should take to get your Theme working.
  6. Provide contact information (website or email), if possible, for support information and questions.

テーマ単体テスト

テーマ単体テストの要件を満たさなければいけません。

テーマの旧式化

  • 一旦登録したら最新に保たなければいけません。
  • Any Theme not updated to the current theme review process as of the most recent release of WordPress may be subject to temporary suspension.

テーマ審査員になるには

Are you interested in joining the Theme Reviewers team? Great! The team is open to anyone who wants to help out, and the process is simple:

  1. Join the Theme Reviewers mail list.
  2. Setup a WordPress test environment, and import the Theme Unit Test data. Be sure to set WP_DEBUG to 'true' in wp-config.
  3. Install the Log Deprecated Notices plugin on your WordPress test environment.
  4. Pick the oldest unclaimed Theme from the Theme Review Trac Queue; and, "reassign to" your Trac username
  5. Using the SVN link in the Trac ticket, download the Theme files, and install/activate the Theme on your WordPress test environment.
  6. Review the Theme per the process, ensuring the Theme meets the criteria as well as the Theme Development standards.
  7. Attach your Theme review notes as a comment on the ticket.
  8. Set the “resolve as” option to “suggest-approval” for inclusion in the Theme directory; or, “not-accepted” if the Theme does not meet the necessary review criteria and standards.

資料

役立つCodexリンク集

コード検証リンク集

PHP/WordPress検証ツール

最新英語版: WordPress Codex » Theme Review最新版との差分