我试图显示get\\u category\\u类别,将结果限制为只显示父级“666”的子类别。
因此,一篇帖子可能有很多类别,例如“1234”、“666”、“666/1341”、“5”、“5/17”,但我只想显示“666”的子帖子。
$args = array( \'numberposts\' => \'5\',\'post_status\' => \'publish\',\'category\' => \'1234\',\'category__not_in\' => \'680\', \'orderby\' => \'post_date\', \'order\' => \'DESC\' );
$recent_posts = wp_get_recent_posts($args);
{
///I want to return the category for each post in this loop that is within the "666" category.
///E.g get_the_category($recent[\'ID\']) where the category is a child of 666
echo "POST ID" . $recent[\'ID\'] . " CHILD CATEGORY ". $childcategory;
}
上述循环将返回类别“1234”中的最后5个帖子,每个子类别为“666”。
e、 g。
邮政ID 10子类别1341邮政ID 11子类别1341邮政ID 14子类别99邮政ID 19子类别1341邮政ID 23子类别99
SO网友:admcfajn
您可以通过首先获取该类别的子类别,然后将其作为数组传递给查询来实现这一点。
$categories=get_categories(
array( \'parent\' => $cat->cat_ID )
);
$cat_list = [];
foreach ($categories as $c) {
$cat_list[] = $c->term_id;
}
参考号:
Get the children of the parent category这可能不起作用,但通常值得尝试传递一个数组,您可以在WordPress中传递一个整数:
$args = array( \'numberposts\' => \'5\',\'post_status\' => \'publish\',\'category\' => $cat_list,\'category__not_in\' => \'680\', \'orderby\' => \'post_date\', \'order\' => \'DESC\' );
wp_get_recent_posts
使用
get_posts
&;
get_post
接受类别的ID,在编写时它没有提到数组。。。所以你可能需要使用
WP_Query
:
$query = new WP_Query( array( \'category__and\' => $cat_list ) );
请参见:
https://codex.wordpress.org/Class_Reference/WP_Query