web-dev-qa-db-ja.com

カスタム投稿タイプとカテゴリアーカイブ

これは簡単なことだと思いますが、うまく機能させるのに苦労しています。

私が持っているのは以下の通りです:

「商品」というカスタムページタイプ。

製品には複数のカテゴリとサブカテゴリが含まれています。

カテゴリとサブカテゴリには投稿(商品)が含まれています。

私は 'archive-products.php'と呼ばれるテンプレートファイルを追加することによって私が達成したルートカテゴリをリストするカスタムテンプレートページが欲しい - これは今商品投稿タイプ内のすべてのルートカテゴリをリストします。

さて、カテゴリを選択したときに、そのカテゴリ内のすべてのサブカテゴリと商品を一覧表示するために別のテンプレートを表示したいのですが、正しいテンプレートファイルをロードできないようです。私はそれが 'archive-products.php'ファイルをロードするべきだと思い、カテゴリを検出して別のテンプレートを表示することができましたが、私はそれをどうやって行うのかわからないようです。

私はこれが私が見逃した簡単な何かであることを望んでいます、しかし私は長い間問題を見つめていました私は解決策を見つけることができないようです!

前もって感謝します。

1
Dan Cooper

私が正しく理解しているならば、あなたはそのような何かを持っています:

  • カテゴリーA(テンプレート1を使用)
    • サブカテゴリ1(テンプレート2を使用)
    • サブカテゴリ2(テンプレート2を使用)
  • カテゴリーB(テンプレート1を使用)

カテゴリに子があるかどうかをテストするための条件として、これをarchive-products.phpに追加する必要があるかもしれません。そうであれば、別のレイアウトまたはデザインを表示します。

<?php 
    $this_category = get_category($cat);
    if (get_category_children($this_category->cat_ID) != "") {
        // Category has NO children
    }
    else{
        // Category HAS children
    }
?>

ここでこの答えを見つけました: triplebullによるsub-category-any-conditionsの異なるテンプレート

うまくいけば、それは役立ちます!

0
Howdy_McGee