一起显示所有帖子类型

时间:2014-01-31 作者:Nathan S

我正在寻找使用自定义的帖子类型来创建一个简化的过程,以便关键个人向网页添加信息。让我们以一个职位公告为例,其中包含职位、截止日期等自定义字段。

然而,我也有许多类别的常规帖子。

我想把所有的帖子都列在一起。因此,对于显示最后3篇帖子的主页,包括自定义帖子类型的帖子(将有多篇)。

我还想让这些自定义帖子自动设置为特定类别,但这些类别应该是常规帖子类型的一部分。如果“Job Postings”和“Press Releases”是我的常规帖子菜单下的两个类别,我还希望“Job\\u Posting”的CPT自动设置为“Job Postings”。

这种情况下,我们需要发布属于职位发布类别的信息,但不一定是在该CPT中设置了必填字段的实际发布。

我是不是完全走错了方向?

更新:

我已将我的WP\\U查询更改为以下内容,但它仍然不会显示CPT:

<ul class="home-content-recent">
            <?php 
            $args = array(
                \'post_type\' => \'any\',
            );
            $recent = new WP_Query($args);
            $recent->query(\'showposts=3\');
            if($recent->have_posts()) : while($recent->have_posts()): $recent->the_post();?>
        <li>
        <a class="recent-title" href="<?php the_permalink()?>"><?php the_title()?></a>
        <div class="post-meta-data">
        <p class="recent-time"><?php the_time(\'l, F j, Y\')?></p>
        <p class="recent-category"><?php the_category(\', \'); ?></p>
        <p class="recent-commentcount"><?php comments_number( \'No Comments\', \'1 Comment\', \'% Comments\' ); ?></p>
        </div>
        <div class="recent-excerpt"><?php the_excerpt()?></div>
        </li>
            <?php endwhile ?>
            <?php else : ?>
            <?php endif ?>
</ul>

1 个回复
SO网友:Eric Holmes

对于你问题的第一部分pre_get_posts 钩子是你所需要的一切。如果您使用默认的“最新帖子”设置作为首页(设置>阅读),那么此代码应该可以工作。

add_action( \'pre_get_posts\', \'se132019_home_page_all_post_types\' );
function se132019_home_page_all_post_types( $query ) {
    if ( ! is_admin() $query->is_main_query() && $query->is_posts_page() ) {
        $query->set( \'post_type\', \'any\' );
    }
}
如果使用自定义WP_Query, 只需添加\'post_type\' => \'any\' 作为论据。

第二件事是你的个人喜好——你可以把所有帖子放在帖子中,并根据它们所附加的术语(类别)进行不同的显示。否则,您需要做以下两件事:

将自定义职位类型(职位列表)添加到category 分类学这可以在以下情况下完成registering the post type 使用taxonomies 参数,或使用register_taxonomy_for_object_type.save_post 方法,检查帖子是否附加到任何类别。如果没有,请根据职位类型手动将其分配到适当的类别编辑:

您的前几行应该如下所示。创建WP\\U查询对象时,它会自动调用query() 作用您正在第二次调用它,并将新参数传递给它。

        <?php 
        $args = array(
            \'post_type\' => \'any\',
            \'posts_per_page\' => 3
        );
        $recent = new WP_Query($args);

结束

相关推荐

从2种不同的帖子类型中查询连接的帖子(使用posts2post)

假设我有3种帖子类型:帖子、议程和慈善。我使用插件Posts2posts 从scribu将某些帖子和某些议程项目连接到一些慈善项目。在慈善机构的单页上,我想在侧栏中显示帖子和议程。我有两个问题:1st problem: 我要混合,但仍按日期分类2nd problem: 我只想显示与我的慈善帖子相关的帖子和议程项目。看起来像是-连接到此慈善机构的最后一个帖子-与该慈善机构相关的最后一个议程项目-Forlast post item连接到此慈善机构-与该慈善机构相关的最后一个议程项目当使用wp\\u query