0

カテゴリの子と、その子の下にあるすべての子を表示したいと考えています。

私の構造は次のようになります

  • ページ1
    • 11ページ
    • 12ページ
      • 123ページ
  • ページ2
    • 22ページ
    • 23ページ
      • 234ページ
  • 3ページ

表示したくない親があっても、12ページと1レベル下、23ページと1レベル下だけを表示したい。ページ 234 に子がある場合は表示されません。

私のコード、そしてそれはループの中にあります。そして、ページ 1、2、3 の下にすべてのカテゴリが表示されwp_list_categoriesます。wp_list_categoriesget_category

<?php
if (is_category( )) {
  $cat = get_query_var('cat');
  $parent = get_category ($cat);
  if ($parent->parent) {
    wp_list_categories ('title_li=&child_of=' . $parent->parent);
  } else {
    wp_list_categories ('title_li=&child_of=' . $cat);
  }
}

?>

ありがとう!

4

1 に答える 1

0

depthパラメータを使用して、リストに含めるレベルの数を決定できます。

私が持っている構造:

  • 猫 1 (ID: 238)
    • 猫 1.1 (ID: 239)
    • 猫 1.2 (ID: 240)
      • 猫 1.2.1 (ID: 241)

からのコード例category.php:

$cat = get_query_var('cat');

$catObj = get_category($cat);
echo $catObj->name;

$args = array('hide_empty' => 0, 'child_of' => $cat, 'depth' => 1, 'title_li' => "");
wp_list_categories ($args);

の出力/?cat=238:

  • 猫 1
    • 猫 1.1
    • 猫 1.2

の出力/?cat=240:

  • 猫 1.2
    • 猫 1.2.1

私が使用したパラメーターは無視hide_emptyしてもかまいません。追加のパラメーターについてtitle_liは、wp_list_categories() リファレンスを参照してください。

于 2013-03-03T08:48:23.353 に答える