我希望在当前类别页面上只显示第一级子类别(如果有)。
我尝试了以下代码:
<?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”,但它被忽略了。
如何在类别页面上仅显示第一级子级(如果存在)?
最合适的回答,由SO网友:Chinmoy Kumar Paul 整理而成
您正在使用get\\u 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\'
);