私はこのコードを見つけました。これは明らかにカテゴリスラッグからカテゴリIDを取得します。
$category = get_category_by_slug('category-name');
$id = $category->term_id;
しかし、それを次のコードに実装しようとすると、うまくいきません。
<?php
//list terms in a custom taxonomy using wp_list_categories
$category = get_category_by_slug( 'military' );
$args = array(
'taxonomy' => 'product_cat',
'orderby' => 'name',
'show_count' => 0,
'pad_counts' => 0,
'hierarchical' => 1,
'title_li' => '',
'depth' => 2,
'child_of' => $category->term_id
);
?>
<ul class="test">
<?php wp_list_categories( $args ); ?>
</ul>
特定の親カテゴリの子カテゴリのみを表示しようとしています。 「child_of」のカテゴリIDを入力しただけでは、問題はありません。しかし上記のコードを使用して、それはすべてのカテゴリを表示し続けます。残念ながら、IDではなく、slugを使ってやる必要があります。
何か案は?
get_category_by_slug()
を使用することはできません。 get_term_by()
を使う必要があります。$category = get_term_by( 'slug', 'military', 'product_cat' );