php - 从数组中排除所有子类别帖子,仅包括主要类别

我做了一个自定义短代码来从当前类别页面获取帖子列表(帖子是网站项目的自定义帖子类型):

  • 主类,10 项(我在这个页面上)
    • 子类,25 项

我只需要显示 10 个主要类别项目而不是子类别项目。

如何编辑我的函数?

// GET THE CURR£NT CATEGORY SLUG
    $categories = get_the_terms($post->ID, 'pj-categs');
    foreach( $categories as $category ) {
        $categorySlug = $category->slug;
        echo $categorySlug;
    }


    // EXTRACT THE POSTS
    $the_query = new WP_Query(array(
        'pj-categs'      => $categorySlug,
        'posts_per_page' => 12,
        'post__not_in'   => [get_the_ID()]

    ));

回答1

有一个简单的解决方案可以避免显示子类别 .get_the_terms() 返回 WP_Term 对象。这个对象有一个父属性。首先,检查 $category->parent == 0 如果你发现 true 然后 store 变量中的数据。

相似文章