如何列出具有自定义帖子类型的类别的帖子? (WP)

时间:2016-08-22 13:44:20

标签: wordpress

您好我的自定义帖子类型有问题。

所以我要做的是,在调用主要类别时列出子类别中的所有帖子。 Usualy这对Wordpress的正常帖子类型没有问题,但是因为我尝试使用自定义帖子类型它不起作用...

我的类别结构是这样的:

  • 类别
    • 子类别 (帖子里面)
    • 子类别 (帖子里面)

感谢任何帮助或提示。感谢

    <?php
    $categories = get_categories('title_li=&hide_empty=1&parent=1430');

    foreach($categories as $category) {
    echo "<div class='col-12' style='border-bottom: 0'><h1 class=''>".$category->name."</h1></div>";
    $args = array('cat'=> $category->term_id);
    if (have_posts() ) : while (have_posts() ) : the_post(); ?>
        <!-- article -->
        <article class="col-3">
            <div class="image">
                <span class="helper"></span><a href="javascript:void(0)"><?php the_post_thumbnail('full');?></a>
            </div>
            <h1><a href="javascript:void(0)"><?php the_title(); ?></a></h1>
            <?php the_content();?>
        </article>
        <!-- /article -->
    <?php endwhile; endif; }?>
    </main>

1 个答案:

答案 0 :(得分:1)

这里有几个问题:

首先,您没有声明循环或致电get_posts

其次,如果你查看WP_Query的文档(这是&#34;骨干&#34;在get_posts后面,所以参数基本相同),你会看到,如果你请勿传递post type的参数,默认值为post

因此,由于您未与我们分享帖子类型,因此您必须根据需要调整以下内容:

// .. your code above ....

$args = array(
    'cat'=> $category->term_id, 
    // Include the post_type in the query arguments
    'post_type' => 'custom-post-type' // Change this as needed 
);

// Now we need to actually query for the posts...
$custom_posts = new WP_Query( $args );
// These are modified to use our custom loop...
if ($custom_posts->have_posts() ) : while ($custom_posts->have_posts() ) : $custom_posts->the_post(); ?>
// .. your code below ...  the_title(), etc will work here...