ありがとうございます。
カテゴリーを指定することで振り分けて表示することが来できました。
またsingle-4.phpでは4=カテゴリーIDですが、single-itemなどのようにカテゴリーのスラッグ名を指定して振り分けることができませんでしたが、スラッグ名で振り分けも可能ですか?
よく理解できていないのですが、single-[投稿タイプ]と本には書かれていますが、投稿タイプのところには対象カテゴリーのID、スラッグ名でよいのでしょうか?
————————–
投稿については複数の投稿ページに同デザインテンプレートを適用できることはわかりましたが、固定ページの場合はどのようにすれば適用できるのでしょうか?
toshiDPさん
カスタム投稿タイプのタイプ別に分けたいという意味合いで大丈夫でしょうか。
functions.phpなどで変更かけていなければ、基本的にはsingle-(投稿タイプのslug).phpが優先されると思います。
例えば、カスタム投稿タイプのslugが「test」だとすると
single-test.phpになります。
その他、single.php内で他のPHPにも降ることが可能ですよ。
ご回答ありがとうございます。
————————–
function.phpで指定する方法になってしまうのですね。
single(投稿)については複数の記事に同デザインテンプレートを指定する方法については理解できました。
————————–
上記singleのように、複数の固定ページで指定したテンプレートを適用させることはやはりむりなのでしょうか?
page-test.phpとpage-test1.phpのテンプレートを作成し、固定ページ作成時のスラッグをtestにした場合は前者が適用されますが、これですとテンプレート1に対し固定ページ1となってしまいます。テンプレート1に対し固定ページ複数に適用させる方法などはありますか?
toshiDPさん
おそらく、テンプレート階層を参考にすると良いかと思いますよ。
複数に指定のテンプレートを反映させるには2つのやり方があると思われます。
テンプレートファイルの頭に
<?php
/*
Template Name: マイページ
*/
?>
をつけ、雛形化するか(下記優先順位1が適応になります)、IF文による条件分岐です。
以下がワードプレスの優先順位になりますので
1.カスタムテンプレートファイル – ページ作成画面の「テンプレート」ドロップダウンメニューで選択したテンプレート名(上記)
2.page-{slug}.php
3.page-{id}.php – 固定ページIDが 6 ならば WordPress は page-6.php を探す。
4.page.php
5.singular.php
6.index.php
IF文を使う場合は、
<?php
if(条件) :
include(TEMPLATEPATH.'/page-test.php');
elseif(条件2) :
include(TEMPLATEPATH.'/page-test2.php');
else :
include(TEMPLATEPATH.'/page-def.php');//汎用のテンプレート
endif;
?>
こんな感じで組めば、分岐できますよ。
toshiDPさん
上記IF文を使用する場合、page.phpのコピーをpage-def.phpとし、page.phpには上記iF文のみを記載すると良いかもしれません。
slugと重複の恐れがある場合は、page_def.phpなどファイル名を変更してください。
無難なのは、固定ページの場合はテンプレートを適応させるのが良いと思います。
丁寧な説明ありがとうございます。
上記の説明で十分に質問内容に対しての回答になりました。
追加で教えていただけると助かるのですが、
テンプレートを適応とありますが、テンプレートを選択する画面がない場合はどうすれば表示するのでしょうか?
当方の認識ですと、「ダッシュボード」内の「ページ属性」に表示されると思っています。
また、テンプレートファイルの作り方などあるのでしょうか?
出先で携帯から失礼致します。
通常固定ページから新規作成で表示が出てくるのですが、ファンクションによって無効化されているか、phpファイルに記載が無いか、隠れている可能性があります。
通常はテンプレートネームをphpファイルの先頭行に設置するだけで、選択が出てくるのですが。