web-dev-qa-db-ja.com

カテゴリページにサブカテゴリを表示するにはどうすればいいですか?

Category.phpとして割り当てられている製品ページがあります。今、私はカテゴリページのサブメニューとしてサブカテゴリを表示したいです。しかし、たくさん検索した後でも、すべてのサブカテゴリを表示できませんでした。私は1つのコードを見つけました:

 <?php
if (is_category()) {
$this_category = get_category($cat);
}
?>
<?php
if($this_category->category_parent)
$this_category = wp_list_categories('orderby=id
&title_li=&use_desc_for_title=1&child_of='.$this_category->category_parent.
"&echo=0"); else
$this_category = wp_list_categories('orderby=id&depth=1
&title_li=&use_desc_for_title=1&child_of='.$this_category->cat_ID.
"&echo=0");
if ($this_category) { ?> 

<ul>
<?php echo $this_category; ?>

</ul>

<?php } ?>

しかし、これがしているのは、0の投稿があるサブカテゴリを表示しないことです。また、カテゴリにサブカテゴリがないカテゴリはありません。すべてのリストの前に箇条書きがあります。だから助けてください。

1
hashtagerrors

get_categories- wp_list_categories を特定のパラメータと共に使用することができます(直接使用する場合はcategory.php template)。


// List sub cats
$params = array(
    'parent'        =>  get_queried_object_id(), //id of current category displayed 
    'orderby'       => 'name',
    'order'         => 'ASC',
    'hide_empty'    =>  false // do not hide sub cats without posts
);
if ( count( get_categories( $params ) ) ) {
    wp_list_categories( $params );
}

引数の完全なリストは見つけることができます ここ

あなた自身のWalkerでWPの Walker_Category classを拡張して出力をカスタマイズすることもできます。

2
Dexter0015