関数リファレンス/get template part
get_template_partの引数の書き方が違ってるんじゃないですか。
まずコーデックスで検索してみてはどうでしょう。
oisit様 はじめまして。
アドバイスありがとうございます。
コーデックスを再度、調べたのですが
get_template_partの引数の書き方は間違っていないような・・・
今は、なぜか
子カテゴリーの1番目のみ「cat-ko.php」が読み込まれるのですが、
子カテゴリーの2番め以降「cat-oya.php」が読み込まれてしまいます。
説明
テンプレートパーツ(ヘッダー、サイドバー、フッターを除きます)をテンプレートへ読み込みます。これにより、テーマがコードのセクションを再利用すること、また子テーマが親テーマのセクションを置き換えることが容易になります。
テーマの $slug で指定したテンプレートパーツをインクルードします。$name が指定された場合は、そのパーツの個別版をインクルードします。テーマに {$slug}.php ファイルがなければ何もインクルードしません。
$name パラメータの値は、例えばファイル “{slug}-special.php” をインクルードしたければ “special” にします。
catがslugでoyaまたはkoがnameってことじゃないでしょうかね。
使い方
<?php get_template_part( $slug ); ?>
<?php get_template_part( $slug, $name ); ?>
それでも動かないなら他の部分なんでしょう。
その場合、申し訳ないが自分にはよくわかりません。
oisit様
ご回答ありがとうございます。
<?php get_template_part( $slug, $name ); ?>
この場合、カテゴリー毎のテンプレートパーツが必要になってしまいますので
category.phpで、親カテゴリーと子カテゴリーの表示を変更したいと思っているのですが・・・。
category.phpに最初のコードが書いてあると思ったんですが。
get_template_partはincludeの代わりに使うようですよ。
oisit様
いろいろとご回答いただきありがとうございます。
get_template_partの箇所をいろいろと試してはいますが、
思うどおりに表示されないです・・・。
どうも親カテゴリーと、子カテゴリーの判別がウマくできていないようです・・。
では親カテゴリーと子カテゴリーの判別で検索するといいかもしれませんね。
コーデックスの条件分岐タグ、is_category、in_categoryとかも見られると良いと思います。
それとget_template_partはファイルを挿入に当たるので、
読み込まれるファイルに書いてない部分はoya、koは共通になりますよ。
おちからになれずすいません
category.phpで$cats = get_the_category();
とするのがおかしくないですかね?
$catsの中身は期待通りですか?
こんな感じだとどうでしょうか。
<?php
$catInfo = get_queried_object();
$catParent = $catInfo -> category_parent;
if ( 0 < $catParent ){
get_template_part(‘cat-ko’);
} else {
get_template_part(‘cat-oya’);
}
?>
親のカテゴリーに関して、数が決まってるなら、is_category(親のカテゴリーID(複数の場合の書き方はコーデックス参照))にすればいいとは思います。
category.phpを呼び出して、
if (is_category(ID)){
get_template_part(‘cat','oya’);
}else{
get_template_part(‘cat','ko’);
}
とかじゃないですか。
挿入するファイルcat-oya.phpとcat-ko.phpを用意する。
ハイフンがある場合、前と後をそれぞれ第1引数、第2引数とする。
それとget_template_partは指定されたファイルの内容を元のファイルに読み込むだけなので、
category.phpの代わりにcat-oya.phpやcat-ko.phpが呼び出されるわけじゃない。
条件分岐の書き方を直せば上手くいくと思います。
<?php
$cats = get_queried_object();
$parent = $cats->parent;
if($parent == 0){
get_template_part('cat-oya');
}else{
get_template_part('cat-ko');
}
?>