问题描述

虽然我已经能够使这项工作适用于正常的 WP 类别,但我无法使其适用于自定义分类法。

我想循环使用每个习惯分类法 (我的案例中的类别),并为每个分类法生成一些帖子。

输出的一个例子是:

Category 1

post from category one
post from category one

read more category one


Category 2

post from category two
post from category two

read more category two

当然,它会通过任何可用的分类法来重复定制帖子类型。

最佳解决方案

我以为我会提供另一个答案,因为上面的一个有点黑客,我还添加了另一个层,获得一个 post_type 的所有分类。

$post_type = 'post';

// Get all the taxonomies for this post type
$taxonomies = get_object_taxonomies( (object) array( 'post_type' => $post_type ) );

foreach( $taxonomies as $taxonomy ) : 

    // Gets every "category" (term) in this taxonomy to get the respective posts
    $terms = get_terms( $taxonomy );

    foreach( $terms as $term ) : 

        $posts = new WP_Query( "taxonomy=$taxonomy&term=$term->slug&posts_per_page=2" );

        if( $posts->have_posts() ): while( $posts->have_posts() ) : $posts->the_post();
            //Do you general query loop here  
        endwhile; endif;

    endforeach;

endforeach;

建议将发现的每个帖子添加到 $post__not_in 阵列中,以便将其传递给 WP_Query,以防止重复的帖子通过。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。