我使用下面提到的代码从父类别中获取前5个子类别(按帖子数量)。The code works fine, 然而,我需要添加更多的“父”类别,这样我就无法从多个父类别中获得前5个子类别的总数。
Adding \'parent\' => \'599,588,590\', **Does not work.**
The working code for single parent category.
<?php
$args=array(
\'orderby\' => \'count\',
\'order\' => \'DESC\',
\'parent\' => \'599\',
\'number\' => \'5\'
);
$categories=get_categories($args);
foreach($categories as $category) {
echo \'<li><a href="\' . get_category_link( $category->term_id ) . \'" title="\' . sprintf( __( "" ), $category->name ) . \'" \' . \'>\' . $category->name.\' (\' . $category->count .\')</a></li>\';
}
?>
最合适的回答,由SO网友:Tom J Nowell 整理而成
你不可能在一个电话里得到它。
相反,可以进行多次调用,然后将每次调用提供给您的数据排序到单个数组中,并在新列表中选择前5位。
e、 g。
$args=array(
\'orderby\' => \'count\',
\'order\' => \'DESC\',
\'parent\' => \'599\',
\'number\' => \'5\'
);
$categories=get_categories($args);
$args2=array(
\'orderby\' => \'count\',
\'order\' => \'DESC\',
\'parent\' => \'588\',
\'number\' => \'5\'
);
$categories2=get_categories($args2);
// etc...
最后,您将创建一个新数组,用于显示前5个类别。您将通过搜索刚刚获得的5个类别数组,并选择计数最高的类别来填充此数组。。
将每个数组视为前10名,然后在给定5个列表的情况下,您将编译一个新的前10名。你会在所有5个列表中找到最高的类别,然后是下一个,一旦你有了5个项目,你就会停下来写下你的最终列表。