列出具有相同类别但不包括父级帖子

时间:2013-06-21 作者:greydog

我有以下代码:

<?php global $post;
            $cat_ID=array();
            $categories = get_the_category(); //get all categories for this post
                foreach($categories as $category) {
                    array_push($cat_ID,$category->cat_ID);
                }
            $args = array(
                \'orderby\' => \'date\',
                \'order\' => \'DESC\',
                \'post_type\' => \'post\',
                \'numberposts\' => 10,
                \'post__not_in\' => array($post->ID),
                \'category__in\' => $cat_ID
            );
            $cat_posts = get_posts($args);
                if ($cat_posts) {

                    echo \'SOME HTML\';

                    foreach ($cat_posts as $cat_post) { ?>
它当前列出了与您当前所在帖子类别相同的所有帖子。我希望它做的是排除父类别。

示例类别列表/示例如下所示:

作品
-动画
-电影
-其他

当在帖子中显示cat动画时,所有其他帖子都会显示相同的cat(这很好),但主父帖子也会显示相同的cat动画。如何排除它?

非常感谢。

1 个回复
最合适的回答,由SO网友:Milo 整理而成

顶级类别的父级值为0,因此在添加到数组之前,请检查:

foreach( $categories as $category ) {
    if( 0 != $category->parent ) {
        array_push( $cat_ID, $category->cat_ID );
    }
}

结束

相关推荐

Exclude an array

我正在将edit post仪表板移动到前端。所以这里有一个案例,我必须查询,一个用于产品附件,另一个用于所有人。现在,我想从所有附件中排除产品附件查询这里是一个如何从WordPress Codex中排除帖子缩略图的示例:<?php $args = array( \'post_type\' => \'attachment\', \'numberposts\' => -1, \'post_status\' => nu