Category
Archives
Cocotiie
Trial And Error!やってみよう!の精神でWeb制作をしています。初心者の方にも伝わるよう、心がけています。少しでも誰かの助けになれれば嬉しいです。宜しくお願い致します。

2006年:Web制作に関する覚書きブログをはじめる。

2018年:Cocotiie(ココッティー)として運営開始。
このサイトは快適なテーマ「SWELL」を使用していますSWELLについて

[WordPress]カスタム投稿タイプのテンプレート

カスタム投稿タイプ

カスタム投稿タイプを追加する  の続きです。カスタム投稿タイプで投稿した記事用のテンプレートを作成します。

single.phpは他のテンプレートと異なり、single-スラッグ.phpとしても個別のテンプレートにはならないので、個別でカスタマイズしたい場合は、カスタム投稿タイプにするのが便利です。カスタム投稿タイプでは、single-投稿タイプ名(news).phpに出来ます。

例では、「お知らせ」news としています。この状態でダミーで記事を少し作りました。

カスタム投稿タイプ

※ この例では、WP Bootstrap Starterを使用しています。

INDEX

記事一覧テンプレート

カスタム投稿記事一覧のテンプレートの読み込み順は、

  1. archive-投稿タイプ名(news).php
  2. archive.php
  3. index.php

archiveを子テーマにコピーして、archive-news.phpにリネームします。

カスタム投稿

個別ページテンプレート

個々のカスタム投稿記事のテンプレートの読み込み順は、

  1. single-投稿タイプ名(news).php
  2. single.php
  3. singular.php
  4. index.php

つまり、single-投稿タイプ名(news).phpを作っていない場合は、他の記事と共通のsingle.phpを使用します。

カスタム投稿

方法その1

single.phpを子テーマにコピーして、single-news.phpにリネーム。template-parts/contentsを子テーマにコピーして、contents-news.phpにリネーム。

single-news.phpを開き、読み込むcontentテンプレートをcontents-news.phpに修正する。

get_template_part( 'template-parts/content', get_post_format() );
を書き換える
get_template_part( 'template-parts/content-news', get_post_format() 

);

方法その2

single.php内で、カスタム投稿の記事であればcontent-news.phpを使い、そうでなければcontent.phpを使う様に振り分けるます。

single.phpを開き、get_template_part( ‘template-parts/content’, get_post_format() ); を削除し、その代わりに下記のコードを加えます。初心者に管理しやすいのがこの方法ではないかと思います。

			if (is_singular(array('news'))):
 get_template_part( 'template-parts/content-news', get_post_format() );
else:
 get_template_part( 'template-parts/content', get_post_format() );
endif; 

後は、それぞれのテンプレートをカスタマイズして下さい。

if 分岐の書き方

よかったらシェアお願いします
  • URLをコピーしました!
  • URLをコピーしました!

コメント ※ハンドルネームでお願いします

コメントする

INDEX