WordPress.org (日本語)

言語:বাংলা•英語•Español•日本語한국어•PortuguêsdoBrasil•Русский•中文(简中文(繁體)•(言語を追加)

この記事はWordPressテーマの開発に関するものです。テーマのインストールと使用方法について詳しく知りたい場合は、テーマの使用を確認してください。このトピックはテーマの使用とは異なります。テーマをアクティブ化する方法や新しいテーマを取得する場所ではなく、独自のテーマを作成するためのコード作成の技術的側面について説明します。

WordPressテーマの理由

WordPressテーマは連携して機能するファイルです。 WordPressサイトのデザインと機能を作成します。テーマはそれぞれ異なる場合があり、サイト所有者がWebサイトの外観を即座に変更するための多くの選択肢を提供します。

WordPressテーマを自分用に開発することをお勧めします。クライアントプロジェクトまたはWordPressテーマディレクトリに送信します。WordPressテーマを作成する必要があるのはなぜですか?

  • 独自の外観を作成するにはWordPressサイト用。
  • テンプレート、テンプレートタグ、WordPressループを利用して、さまざまなWebサイトの結果と外観を生成します。
  • 特定のサイト機能に代替テンプレートを提供するため。カテゴリページおよび検索結果ページとして。
  • 2つのサイトレイアウトをすばやく切り替えたり、テーマまたはスタイルスイッチャーを利用して、サイト所有者がサイトの外観を変更できるようにします。

WordPressテーマにも多くの利点があります。

  • プレゼンテーションスタイルとテンプレートファイルをシステムファイルから分離するため、のビジュアルプレゼンテーションを大幅に変更することなくサイトをアップグレードできます。サイト。
  • そのテーマに固有のサイト機能をカスタマイズできます。
  • WordPressサイトのビジュアルデザインとレイアウトをすばやく変更できます。
  • 見栄えの良いウェブサイトを作成するために、一般的なWordPressサイトの所有者がCSS、HTML、PHPを学ぶ必要がなくなります。

なぜ独自のWordPressテーマを作成する必要があるのですか?それが本当の質問です。

  • CSS、HTML、およびPHPについてさらに学ぶ機会です。
  • 専門知識を活用する機会です。 CSS、HTML、PHPが機能します。
  • クリエイティブです。
  • (ほとんどの場合)楽しいです。
  • リリースした場合一般に公開すると、WordPressコミュニティに何かを共有して返したことに満足できます(大丈夫、自慢できる権利)

テーマ開発基準

WordPressテーマは次の標準を使用してコーディングします。

  • 適切に構造化されたエラーのないPHPと有効なHTMLを使用します。WordPressコーディング標準を参照してください。
  • クリーンで有効なCSSを使用してください。CSSコーディングを参照してください。標準。
  • サイトのデザインとレイアウトのデザインガイドラインに従ってください。

テーマの構造

WordPressテーマは、WordPressテーマディレクトリのサブディレクトリにあります。 (デフォルトではwp-content / themes /)wp-config.phpファイルを使用して直接移動することはできません。Themeのサブディレクトリには、すべてのThemeのスタイルが保持されます。 eetファイル、テンプレートファイル、オプションの関数ファイル(functions.php)、JavaScriptファイル、および画像。たとえば、「test」という名前のテーマは、ディレクトリwp-content / themes / test /にあります。テーマ名に数字を使用しないでください。使用可能なテーマリストに表示されなくなります。

WordPressには、新しいインストールごとにデフォルトのテーマが含まれています。デフォルトのテーマのファイルを注意深く調べて、独自のテーマファイルを作成する方法を理解してください。

ビジュアルガイドについては、WordPressテーマの構造に関するこのインフォグラフィックを参照してください。

WordPressテーマは通常、画像とJavaScriptファイルに加えて、3つの主要なタイプのファイルで構成されます。

  1. style.cssと呼ばれるスタイルシート。これは、Webサイトページの表示(ビジュアルデザインとレイアウト)を制御します。
  2. サイトページがサイトに表示されるWordPressデータベースから情報を生成する方法を制御するWordPressテンプレートファイル。
  3. WordPressテーマファイルの一部としてのオプションの関数ファイル(functions.php)。

これらを個別に見てみましょう。

子テーマ

可能な最も単純なテーマは、style.cssのみを含む子テーマです。ファイルと任意の画像。これは、親として機能する別のテーマの子であるため可能です。

子テーマの詳細なガイドについては、子テーマを参照してください。

テーマスタイルシート

テーマのCSSスタイル情報に加えて、style.cssはテーマの詳細をコメントの形式で提供します。スタイルシートはテーマの詳細をコメントの形式で提供する必要があります。2つのテーマはありません。テーマ選択ダイアログで問題が発生するため、コメントヘッダーに同じ詳細をリストすることができます。既存のテーマをコピーして独自のテーマを作成する場合は、最初にこの情報を変更してください。

以下は、テーマ「TwentyThirteen」のスタイルシートヘッダーと呼ばれるスタイルシートの最初の数行の例です。

注:作成者に使用される名前は次のとおりです。テーマ作成者のwordpress.orgユーザー名と同じであることが提案されていますが、作成者の本名でもかまいません。選択はテーマの作成者です。

テーマの説明に使用されるタグのリストに注意してください。これにより、ユーザーはタグフィルターを使用してテーマを見つけることができます。完全なリストはテーマレビューハンドブックにあります。 。

WordPressがテーマを識別し、管理パネルのデザイン>テーマとして表示できるようにするには、style.cssのコメントヘッダー行が必要です。利用可能なテーマオプションと、インストールされている他のテーマ。

スタイルシートのガイドライン

  • CSSを作成するときはCSSコーディング標準に従ってください。
  • 有効なCSSを使用する場合可能です。例外として、ベンダー固有のプレフィックスを使用してCSS3機能を利用します。
  • CSSハックを最小限に抑えます。明らかな例外はブラウザ固有のサポートであり、通常はIEのバージョンです。可能であれば、CSSハックを個別のセクションまたは個別のファイル。
  • すべての可能なHTML要素は、投稿/ページコンテンツと共同の両方で、テーマごとにスタイルを設定する必要があります(子テーマでない場合)。 mmentcontent。
    • 表、キャプション、画像、リスト、ブロック引用符など。
  • 印刷用のスタイルを追加することを強くお勧めします。
    • media = “print”を使用して印刷スタイルシートを含めるか、メインスタイルシートに印刷メディアブロックを追加できます。

関数ファイル

テーマは、オプションで、テーマサブディレクトリにあり、functions.phpという名前の関数ファイルを使用できます。このファイルは基本的にプラグインのように機能し、使用しているテーマに存在する場合、WordPressの初期化中に自動的にロードされます(管理ページと外部ページの両方)。このファイルの推奨される使用法:

  • テーマのスタイルシートとスクリプトをキューに入れます。 wp_enqueue_scriptsを参照してください。
  • サイドバー、ナビゲーションメニュー、投稿サムネイル、投稿フォーマット、カスタムヘッダー、カスタム背景などのテーマ機能を有効にします。
  • のいくつかのテンプレートファイルで使用される関数を定義します。テーマ。
  • オプションメニューを設定して、サイトの所有者にテーマの色、スタイル、その他の側面のオプションを提供します。

デフォルトのWordPressテーマには機能が含まれています。これらの機能の多くを定義するphpファイルなので、モデルとして使用することをお勧めします。関数.phpは基本的にプラグインとして機能するため、Function_Referenceリストは、このファイルで何ができるかについての詳細を確認するのに最適な場所です。

functions.phpに関数を追加するタイミングを決定する際の注意事項または特定のプラグインへ:複数の親テーマで同じ機能を使用できるようにする必要がある場合があります。その場合、関数は特定のテーマのfunctions.phpではなくプラグインで作成する必要があります。これには、テンプレートタグやその他の特定の機能を含めることができます。プラグインに含まれる関数は、すべてのテーマで表示されます。

テンプレートファイル

テンプレートは、訪問者が要求したページを生成するために使用されるPHPソースファイルであり、HTMLとして出力されます。テンプレートファイルは、HTML、PHP、およびWordPressテンプレートタグで構成されています。

テーマの一部として定義できるさまざまなテンプレートを見てみましょう。

WordPressを使用すると、サイトのさまざまな側面に個別のテンプレートを定義できます。そうではありません。ただし、サイトが完全に機能するためには、これらすべての異なるテンプレートファイルが不可欠です。テンプレートは、特定のテーマで使用できるテンプレートに応じて、テンプレート階層に基づいて選択および生成されます。

テーマとして開発者は、テンプレートを使用して実装するカスタマイズの量を選択できます。たとえば、極端な場合、サイトによって生成および表示されるすべてのページのテンプレートとして、index.phpと呼ばれる1つのテンプレートファイルのみを使用できます。より一般的な使用法は、最大限のカスタマイズを可能にするために、異なるテンプレートファイルで異なる結果を生成することです。

テンプレートファイルリスト

これは、WordPressで認識されるテーマファイルのリストです。もちろん、テーマには、他のスタイルシート、画像、またはファイルを含めることができます。以下はWordPressにとって特別な意味があります。詳細については、テンプレート階層を参照してください。

style.cssメインのスタイルシート。これはテーマに含まれている必要があり、テーマの情報ヘッダーが含まれている必要があります。 rtl.cssrtlスタイルシート。ウェブサイトのテキストの方向が右から左の場合、これは自動的に含まれます。これは、RTLerプラグインを使用して生成できます。index.phpメインテンプレート。テーマに独自のテンプレートが用意されている場合は、index.phpが存在する必要があります。コメント.phpコメントテンプレート。front-page.phpフロントページテンプレート。home.phpデフォルトでフロントページであるホームページテンプレート。静的なフロントページを使用する場合、これは最新の投稿があるページのテンプレートです。 single.php単一の投稿テンプレート。単一の投稿が照会されるときに使用されます。これと他のすべてのクエリテンプレートでは、クエリテンプレートが存在しない場合はindex.phpが使用されます。 single- {post-type} .phpカスタム投稿タイプからの単一投稿が照会されるときに使用される単一投稿テンプレート。たとえば、single-book.phpは、「book」という名前のカスタム投稿タイプからの単一の投稿を表示するために使用されます。 index.phpは、カスタム投稿タイプのクエリテンプレートが存在しない場合に使用されます。 page.phpページテンプレート。個々のページが照会されるときに使用されます。 category.phpカテゴリテンプレート。カテゴリが照会されるときに使用されます。 tag.phpタグテンプレート。タグが照会されるときに使用されます。 taxonomy.php用語テンプレート。カスタム分類法の用語が照会されるときに使用されます。 author.php作成者テンプレート。著者が照会されるときに使用されます。 date.php日付/時刻テンプレート。日付または時刻を照会するときに使用されます。年、月、日、時、分、秒。 archive.phpアーカイブテンプレート。カテゴリ、作成者、または日付が照会されるときに使用されます。このテンプレートは、それぞれのクエリタイプのcategory.php、author.php、date.phpによって上書きされることに注意してください。 search.php検索結果テンプレート。検索を行うときに使用します。 attachment.php添付ファイルテンプレート。単一の添付ファイルを表示するときに使用されます。 image.php画像添付テンプレート。単一の画像添付ファイルを表示するときに使用されます。存在しない場合は、attachment.phpが使用されます。 404.php 404 NotFoundテンプレート。 WordPressがクエリに一致する投稿またはページを見つけることができない場合に使用されます。

これらのファイルは、テンプレート階層に従って、利用可能な場合、および対応する条件付きタグがtrueを返す場合に、index.phpの代わりとして使用されるため、WordPressに関して特別な意味を持ちます。たとえば、投稿が1つだけ表示されている場合、is_single()関数は「true」を返します。アクティブなテーマにsingle.phpファイルがある場合は、そのテンプレートを使用してページが生成されます。

基本テンプレート

WordPressテーマは、少なくとも2つのファイルで構成されています。

  • style.css
  • index.php

これらのファイルは両方ともThemeディレクトリに移動します。 index.phpテンプレートファイルは非常に柔軟です。ヘッダー、サイドバー、フッター、コンテンツ、カテゴリ、アーカイブ、検索、エラー、およびWordPressで作成されたその他のページへのすべての参照を含めるために使用できます。

または、モジュラーテンプレートに分割できます。ファイル、それぞれがワークロードの一部を担っています。他のテンプレートファイルを提供しない場合、WordPressにはジョブを実行するためのデフォルトのファイルまたは関数がある場合があります。たとえば、searchform.phpテンプレートファイルを指定しない場合、WordPressには検索フォームを表示するデフォルトの機能があります。

一般的なテンプレートファイルには次のものがあります。

  • コメント。 php
  • コメント-popup.php
  • footer.php
  • header.php
  • sidebar.php

これらのテンプレートファイルを使用すると、index.phpマスターファイル内にテンプレートタグを配置して、最終的に生成されたページに表示する場所にこれらの他のファイルを含めることができます。

これはの例です。使用法を含める:

<?php get_sidebar(); ?><?php get_footer(); ?>

一部のテンプレート関数のデフォルトファイルは非推奨または存在しない可能性があるため、これらのファイルをテーマに指定する必要があります。バージョン3.0以降、非推奨のデフォルトファイルはwp-includes/theme-compatにあります。たとえば、関数get_header()が安全に機能するようにheader.phpを指定し、関数comments_template()にcomments.phpを指定する必要があります。

これらのさまざまなテンプレートの機能と、さまざまなテンプレートの生成方法の詳細については、それらの中の情報については、テンプレートのドキュメントをお読みください。

カスタムページテンプレート

各ページテンプレートを定義するファイルは、テーマディレクトリにあります。ページの新しいカスタムページテンプレートを作成するには、ファイルを作成する必要があります。ページsnarfer.phpの最初のページテンプレートを呼び出しましょう。snarfer.phpファイルの先頭に、次のように入力します。

<?php/*Template Name: Snarfer*/?>

上記コードは、このsnarfer.phpファイルを「Snarfer」テンプレートとして定義します。当然、「Snarfer」は、ページテンプレートの名前を変更するために、ほとんどすべてのテキストに置き換えることができます。このテンプレート名は、これを編集するためのリンクとしてテーマエディターに表示されます。ファイル。

ファイルには、拡張子が.phpのほぼすべての名前を付けることができます(使用しないファイル名については、予約済みのテーマファイル名を参照してください。これらは、WordPressが特定の目的のために予約している特別なファイル名です)。

上記の5行のコードに続くものはあなた次第です。作成する残りのコードは、Snarferページテンプレートを使用するページの表示方法を制御します。さまざまなWordPressテンプレート関数の説明については、テンプレートタグを参照してください。この目的で使用できます。他のテンプレート(おそらくpage.phpまたはindex.php)をsnarfer.phpにコピーしてから、より便利な場合があります。上記の5行のコードをファイルの先頭に追加します。そうすれば、すべてを最初から作成するのではなく、HTMLコードとPHPコードを変更するだけで済みます。例を以下に示します。ページテンプレートを作成してテーマのディレクトリに配置すると、ページを作成または編集するときに選択肢として使用できるようになります(注:ページを作成または編集する場合、[ページテンプレート]オプションは表示されません。上記の方法で定義されたテンプレートが少なくとも1つあります。)

クエリベースのテンプレートファイル

WordPressは、クエリタイプごとに異なるテンプレートを読み込むことができます。これを行うには2つの方法があります。組み込みのテンプレート階層の一部として、およびテンプレートファイルのループ内で条件付きタグを使用することにより。

テンプレート階層を使用するには、基本的に、特別な目的のテンプレートファイルを提供する必要があります。 index.phpをオーバーライドするために自動的に使用されます。たとえば、テーマがcategory.phpというテンプレートを提供し、カテゴリがクエリされている場合、index.phpの代わりにcategory.phpが読み込まれます。category.phpが存在しない場合、 index.phpは通常どおり使用されます。

afを指定すると、テンプレート階層をさらに具体的にすることができます。たとえば、category-6.phpと呼ばれるファイル-ID番号が6のカテゴリのページを生成するときに、category.phpではなくこのファイルが使用されます(カテゴリID番号はManage WordPressバージョン2.3以下でサイト管理者としてログインしている場合のカテゴリ。 WordPress 2.5では、ID列が管理パネルから削除されました。 [カテゴリの編集]をクリックし、URLアドレスバーでcat_ID値を確認すると、カテゴリIDを見つけることができます。 「… categories.php?action = edit & cat_ID = 3」になります。ここで、「3」はカテゴリIDです)。このプロセスの仕組みの詳細については、カテゴリテンプレートを参照してください。

テーマで、テンプレート階層で提供されているものよりも使用するテンプレートファイルをさらに細かく制御する必要がある場合は、条件付きを使用できます。タグ。条件付きタグは基本的に、WordPressループ内で特定の条件が真であるかどうかを確認し、その条件に基づいて特定のテンプレートを読み込んだり、画面に特定のテキストを配置したりできます。

Forたとえば、特定のカテゴリ内でのみ見つかった投稿で特徴的なスタイルシートを生成するには、コードは次のようになります。

または、クエリを使用すると、次のようになります。

<?php$post = $wp_query->post;if ( in_category( "9" ) ) { get_template_part( "single2" );} else { get_template_part( "single1" );}?>

いずれの場合も、このサンプルコードでは、表示されている特定の投稿のカテゴリに応じて、異なるテンプレートが使用されます。クエリ条件はカテゴリに限定されませんが、すべてのオプションについては、条件付きタグの記事を参照してください。

カスタムテンプレートの定義

WordPressプラグインシステムを使用して定義することができます。独自のカスタム基準に基づいて表示される追加のテンプレート。この高度な機能は、「template_include」アクションフックを使用して実行できます。プラグインの作成の詳細については、プラグインAPIリファレンスを参照してください。

テンプレートファイルを含める

別のテンプレート(ヘッダー、サイドバー、フッター以外、次のようなコマンドが事前定義されている)を読み込むにはget_header())をテンプレートに組み込むには、get_template_part()を使用できます。これにより、テーマでコードのセクションを簡単に再利用できます。

テンプレートからファイルを参照する

同じテーマ内の他のファイルを参照する場合は、ハードコードされたURIとファイルパスを避けてください。代わりに、bloginfo()を使用してURIとファイルパスを参照します。テンプレートからのファイルの参照を参照してください。

スタイルシートで使用されるURIは、スタイルシートを参照するページではなく、スタイルシートに関連していることに注意してください。たとえば、テーマにimages /ディレクトリを含める場合は、次のように、CSSでこの相対ディレクトリを指定するだけで済みます。

h1 { background-image: url(images/my-background.jpg);}

プラグインAPIフック

テーマを開発するときは、ユーザーがインストールすることを決定したWordPressプラグインでうまく機能するようにテーマを設定する必要があることに注意してください。プラグインは「アクション」を介してWordPressに機能を追加します。フック」(詳細については、プラグインAPIを参照してください)。

ほとんどのアクションフックはWordPressのコアPHPコード内にあるため、テーマを機能させるために特別なタグを付ける必要はありません。ただし、いくつかのアクションプラグインがヘッダー、フッター、サイドバー、またはページ本文に直接情報を表示するには、テーマにフックが存在する必要があります。含める必要のある特別なアクションフックテンプレートタグのリストは次のとおりです。

wp_enqueue_scriptsテーマ関数ファイルで使用されます。外部スクリプトとスタイルシートをロードするために使用されます。wp_head()< head

要素。プラグインの使用例:JavaScriptコードを追加します。 wp_footer()< / body >タグを閉じる直前のfooter.phpに移動します。プラグインの使用例:フッターの下部に、他のすべての後に実行する必要があるPHPコードを挿入します。GoogleAnalyticsなどのWeb統計コードを挿入するために非常に一般的に使用されます。 wp_meta()は通常、< li >メタ< / li セクション; sidebar.phpテンプレート。プラグインの使用例:回転する広告またはタグクラウドを含める。comment_form()ファイルの直前のcomments.phpに移動する ” ■終了タグ(< / div >)。プラグインの使用例:コメントプレビューを表示します。

実際の使用例として、これらのプラグインフックがデフォルトのテーマのテンプレートに含まれていることがわかります。

テーマカスタマイズAPI

WordPress 3.4以降、新しいテーマのカスタマイズ機能は、ほぼすべてのWordPressテーマでデフォルトで使用できます。テーマのカスタマイズ管理ページには、テーマがadd_theme_support()または設定APIを使用してサポートを宣言するオプションが自動的に入力され、管理者は自分が行った変更の非永続的なプレビューをリアルタイムで確認できます。

テーマのテーマカスタマイズページに新しいオプションを追加することに関心のあるテーマおよびプラグインの開発者は、テーマカスタマイズAPIのドキュメントを参照してください。テーマカスタマイズAPIの追加のチュートリアルは、Ottopress.comWebサイトで入手できます。

信頼できないデータ

テーマ内で動的に生成されたコンテンツ、特にHTML属性に出力されるコンテンツをエスケープする必要があります。WordPressコーディング標準に記載されているように、属性に入るテキストはesc_attr()を介して実行する必要があります。または二重引用符は属性値を終了せず、XHTMLを無効にし、セキュリティの問題を引き起こします。チェックする一般的な場所は、タイトル、alt、および値の属性です。

一般的な場合の特別なテンプレートタグはほとんどありません。安全な出力が必要です。そのようなケースの1つは、セキュリティの脆弱性を回避するために、the_title()の代わりにthe_title_attribute()を使用して投稿タイトルをtitle属性に出力することです。翻訳可能なテキストを使用する場合の投稿タイトルリンクのtitle属性の正しいエスケープの例を次に示します。

<a href="<?php the_permalink(); ?>" title="<?php sprintf( __( "Permanent Link to %s", "theme-name" ), the_title_attribute( "echo=0" ) ); ?>"><?php the_title(); ?></a>

翻訳サポート/ I18n

言語ローカリゼーションのスムーズな移行を確実にするには、WordPressのgettextベースのi18n関数を使用して、翻訳可能なすべてのテキストをテンプレートファイル内でラップします。これにより、翻訳ファイルがラベル、タイトル、その他のテンプレートテキストを簡単にフックして翻訳できます。サイトの現在の言語。詳細については、WordPressのローカリゼーションとWordPress開発者向けのI18nをご覧ください。

テーマクラス

次のテンプレートタグを実装して、WordPressで生成されたクラス属性をbody、post、comment要素に追加します。投稿クラスの場合、ループ内の要素にのみ適用します。

  • body_class()
  • post_class()
  • comment_class()

テンプレートファイルのチェックリスト

テーマを開発するときは、テンプレートファイルを次のテンプレートファイルの標準と照合してください。

ドキュメントヘッド(header.php)

  • 適切なDOCTYPEを使用してください。
  • 開始< html >タグには、language_attributes( )。
  • < meta >文字セット要素は、< title >要素。
  • bloginfo()を使用して<メタを設定します>文字セットと説明要素。
  • wp_title()を使用して、< title 要素。理由をご覧ください。
  • 自動フィードリンクを使用してフィードリンクを追加します。
  • < / headを閉じる前にwp_head()への呼び出しを追加します。 >タグ。プラグインはこのアクションフックを使用して、独自のスクリプト、スタイルシート、およびその他の機能を追加します。
  • ヘッダーテンプレートでテーマスタイルシートをリンクしないでください。代わりに、テーマ関数でwp_enqueue_scriptsアクションフックを使用してください。

正しくフォーマットされたHTML5準拠のヘッド領域の例を次に示します。

ナビゲーションメニュー(header.php )

  • テーマのメインナビゲーションは、wp_nav_menu()を使用したカスタムメニューをサポートする必要があります。
    • メニューは、長いリンクタイトルと大量のリストアイテムをサポートする必要があります。これらのアイテムは、デザインやレイアウトを壊してはなりません。
    • サブメニューアイテムは正しく表示されます。可能であれば、サブメニュー項目のドロップダウンメニュースタイルをサポートします。トップレベルだけでなくメニューの深さを表示できるドロップダウン。
  • テーマは可能な限り完全にウィジェット化する必要があります。ウィジェットのように機能する(タグクラウド、ブログロール、カテゴリのリスト)、またはウィジェットを受け入れることができるレイアウト内の領域(サイドバー)は、ウィジェットを許可する必要があります。
  • デフォルトでウィジェット化された領域に表示されるコンテンツ(ハードコーディングたとえば、外観>ウィジェットからウィジェットを有効にすると、サイドバーに表示されなくなります。

フッター(footer.php)

  • wp_footer()呼び出しを使用して、bodyタグを閉じる直前に表示します。
<?php wp_footer(); ?></body></html>

インデックス(index.php)

  • 投稿のリストを抜粋または完全な長さの形式で表示します。必要に応じてどちらかを選択します。
  • 投稿内のナビゲーションリンクをサポートするには、wp_link_pages()を含めます。

アーカイブ(archive.php)

  • アーカイブのタイトル(タグ、カテゴリ、日付ベース、または作成者のアーカイブ)を表示します。
  • 投稿のリストを抜粋または完全な長さの形式で表示します。必要に応じてどちらかを選択します。
  • 投稿内のナビゲーションリンクをサポートするには、wp_link_pages()を含めます。

ページ(page.php)

  • ページタイトルとページコンテンツを表示します。
  • コメントリストとコメントフォームを表示します(コメントがオフの場合を除く)。
  • ページ内のナビゲーションリンクをサポートするには、wp_link_pages()を含めます。
  • タグ、カテゴリ、日付、作成者などのメタデータは表示しないでください。
  • 編集権限を持つログインユーザーの[編集]リンクを表示します。

単一の投稿(single.php)

  • 投稿内のナビゲーションリンクをサポートするためにwp_link_pages()を含めます。
  • 投稿のタイトルと投稿のコンテンツを表示します。
    • タイトルは、それ自体を指すリンクではなくプレーンテキストにする必要があります。
  • 投稿日を表示します。
    • 日付と時刻の形式設定を尊重します。設計にとって重要でない限り(日付と時刻の形式のユーザー設定は、管理パネル>設定 一般)。
    • ユーザー設定に基づく出力には、the_time(get_option( “date_format”))を使用します。
  • 作成者名を表示します(該当する場合)。
  • 投稿カテゴリと投稿タグを表示します。
  • 編集権限を持つログインユーザーの[編集]リンクを表示します。
  • コメントリストとコメントフォームを表示します。
  • previous_post_link()とnext_post_link()を使用して、次と前の投稿へのナビゲーションリンクを表示します。
  • 作成者のコメントは別の方法で強調表示する必要があります。
  • 必要に応じてGravatar(ユーザーアバター)を表示します。
  • スレッド化されたコメントをサポートします。
  • トラックバック/ピングバックを表示します。
  • 再宣言エラーを回避するために、function_exist()チェックを行わない限り、このファイルに関数定義を含めることはできません。理想的には、すべての関数がfunctions.phpにある必要があります。

検索結果(search.php)

JavaScript

  • JavaScriptコードは可能な限り外部ファイルに配置します。
  • wp_enqueue_script()を使用してスクリプトを読み込みます。
  • HTMLドキュメント(テンプレートファイル)に直接読み込まれるJavaScriptは、古いブラウザでのエラーを防ぐためにCDATAでエンコードする必要があります。 。
<script type="text/javascript">/* <!]> */</script>

スクリーンショット

テーマのスクリーンショットを作成します。スクリーンショットにはscreenshot.pngという名前を付け、最上位のディレクトリに配置する必要があります。スクリーンショットはテーマのデザインを正確に示し、PNG形式で保存されている必要があります。 .jpg、.jpeg、および.gifもスクリーンショットの有効な拡張子とファイル形式ですが、お勧めしません。

推奨される画像サイズは、幅1200ピクセル、高さ900ピクセルです。スクリーンショットは通常小さく表示されますが、画像が大きすぎると、HiDPIディスプレイで高解像度で表示できます。 [テーマの管理]画面は応答性が高いため、スクリーンショット画像の上部と下部が表示されない場合があります。そのため、グラフィックを中央近くに置いてください。

テーマオプション

テーマは、オプションでテーマカスタマイズ画面。コード例については、サンプルのWordPressテーマオプションページを参照してください。

ユーザーロールのテーマカスタマイズ画面の可用性を有効にする場合は、「switch_themes」機能ではなく「edit_theme_options」ユーザー機能を使用します。ユーザーロールは、実際にはテーマを切り替えることもできるはずです。詳細については、役割と機能および管理メニューの追加を参照してください。

テーマの任意の場所で「edit_themes」機能を使用して、管理者の役割でテーマのカスタマイズ画面(または一部のカスタム画面)にアクセスできる場合は、バージョン3.0以降、WordPressマルチサイトインストールの場合、この機能はデフォルトで管理者ロールに割り当てられていないことに注意してください。説明を参照してください。このような場合、管理者に[テーマオプション]メニューを表示させる場合は、代わりに[edit_theme_options]機能を使用してください。 WordPressマルチサイトを使用する場合の管理者ロールの追加機能を参照してください。

テーマテストプロセス

  1. PHPおよびWordPressエラーを修正します。次のデバッグ設定をwp-config.phpファイルに追加して、非推奨の関数呼び出しやその他のWordPress関連のエラーを確認します。define( “WP_DEBUG”、true);。詳細については、非推奨の関数フックを参照してください。
  2. テンプレートファイルをテンプレートファイルチェックリストと照合します(上記を参照)。
  3. テーマ単体テストを使用してランスルーを実行します。
  4. HTMLとCSSを検証します。 Webサイトの検証を参照してください。
  5. JavaScriptエラーを確認します。
  6. すべてのターゲットブラウザでテストします。たとえば、IE9、Safari、Chrome、Opera、Firefox、MicrosoftEdgeです。
  7. 無関係なコメント、デバッグ設定、TODOアイテムをクリーンアップします。
  8. 公開している場合は、テーマレビューを参照してください。テーマをテーマディレクトリに送信してリリースします。

リソースとリファレンス

コード標準

  • ソースを知る
  • WordPressコーディング標準
  • CSSコーディング標準

テーマデザイン

  • サイトのデザインとレイアウト

CSS

  • CSS
  • CSS省略形
  • WordPressで生成されたクラス

テンプレート

  • テンプレートへのステップイン
  • テンプレート
  • テンプレート階層
  • テンプレートタグ
  • ループ
  • 条件付きタグ
  • 関数リファレンス
  • WordPress開発者向けのI18n
  • データ検証

関数リスト

  • 関数リファレンス

テストとQA

  • テーマユニットTe st
  • Webサイトの検証
  • CSSによるブラウザのバグの修正
  • CSSのトラブルシューティング
  • modern.IE:さまざまなプラットフォームでIEをテストするため-ソースツール

リリース&プロモーション

  • テーマレビュープロセス

Write a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です