获取自定义帖子类型的wordpress类别

时间:2019-04-15 08:59:47

标签: php wordpress

我正在尝试获取自定义帖子类型类别,并为每个类别添加帖子。

这是我到目前为止所拥有的代码

function display_receipess($atts){
    $postArg = array(
        'post_type'=>'receipe',
        'posts_per_page'=>-1,
        'order'=>'desc',
    );

    $getPost = new wp_query($postArg);
    global $post;
    if($getPost->have_posts()){
        echo '<div class="row">';
            while ( $getPost->have_posts()):$getPost->the_post();
                $terms = get_the_terms($post->ID, 'category' );
                echo '<div class="xol-xs-12 col-sm-4 col-md-3 
col-lg-3">';
                foreach ($terms as $term) {
                    echo "<h4>".$term_name = $term->name.'</h4>';
                    echo "<p>".$post->post_title."</p>";
                }

                echo '</div>';

            endwhile;
        echo '</div>';
    }


}

获取我的自定义帖子类型的类别效果很好,但是如果一个类别包含多个帖子,则会在另一个div中创建相同的类别。如果一个类别有一个以上的帖子,则该帖子应在该类别下显示该帖子,而不是每次都显示不同的类别

Link to screenshot

谢谢

1 个答案:

答案 0 :(得分:0)

我希望这可以解决您的问题

<?php
    // get all the categories from the database
    $cats = get_categories(); 

    // loop through the categries
    foreach ($cats as $cat) {
            // setup the cateogory ID
            $cat_id= $cat->term_id;
            // Make a header for the cateogry

            // create a custom wordpress query
            query_posts("cat=$cat_id&posts_per_page=100&post_type=post");
            // start the wordpress loop!
            if (have_posts()){
                echo "<h2>".$cat->name."</h2>";
                while (have_posts()) : the_post(); ?>

                    <a href="<?php the_permalink();?>"><?php the_title(); ?></a>

                <?php endwhile; 
            } 
    } // done the foreach statement 
?>