微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

类别循环显示所有帖子标题WordPress

如何解决类别循环显示所有帖子标题WordPress

我似乎无法正常工作。

代码应按自定义分类法遍历所有类别,并在每个类别标题显示帖子标题

$args = array(
    'post_type' => 'news','taxonomy'  => 'news_category','orderby'   => 'name'
);
$categories = get_categories( $args );
foreach ( $categories as $category ) {
    $posts = get_posts($args);
    echo '<h2>' . $category->name . '</h2>'; ?>
    <ul>
        <?PHP foreach($posts as $post) { ?>
            <li>
                <?PHP the_title(); ?>
            </li>
        <?PHP 
    } ?>      
    </ul>
<?PHP
}

预期结果是这个...

类别1

类别2

类别3

...但是我得到的是这样:

类别1

类别2

类别3

我该如何解决

解决方法

我认为这是因为当您使用get_posts时,您没有指定要搜索的任何分类术语,因为您再次使用$ args var,它只包含用于获取类别的常规参数。

要按照您想要的方式进行操作,应在调用get_posts时将$ args替换为以下内容:

$postArgs = array(
    'post_type' => 'news','tax_query' => array(
        array(
            'taxonomy' => 'news_category','field'    => 'slug','terms'    => $category->slug,),);
$posts = get_posts($postArgs);

有关您可以做什么的确切文档,请参见https://developer.wordpress.org/reference/classes/wp_query/#taxonomy-parameters

WP_Query与get_posts相同

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。