web-dev-qa-db-ja.com

現在のカテゴリの最初の子供のレベルのみを表示しますか?

現在のカテゴリページに最初のレベルのサブカテゴリのみを表示したい(ある場合)。

私はこのコードを試してみました:

<?php
        $args=array(
            'child_of' => $cat-id,
            'hide_empty' => 0,
            'orderby' => 'name',
            'order' => 'ASC',
            'depth' => '1' //NOT WORKING

        );
        $categories=get_categories($args);
        foreach($categories as $category) {
            echo '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a>';  }
        ?>

しかし、それはすべての子供たちと子供たちの子供たち(孫)を示しています。 「 'depth' => '1'」で試しましたが無視されます。

カテゴリページに(存在する場合)子供の最初のレベルのみを表示する方法は?

1
Advanced SEO

Get_categories()関数を使用していますが、この関数には ' depth '引数がありません。またphpは$cat-id変数をサポートしていません。それは$cat_idになります。

だから、この種のコードを試してみてください:

$cat_id = get_query_var('cat');
$args=array(
            'parent' => $cat_id,
            'hide_empty' => 0,
            'orderby' => 'name',
            'order' => 'ASC'
        );
3