web-dev-qa-db-ja.com

WP_Queryでカスタム投稿タイプの投稿を取得する

カスタム投稿にクエリと表示を返させようとしていますが、代わりにデフォルトの投稿または標準の投稿を表示しています。 CPTから投稿を受け取るにはどうすればよいですか。

$query = new WP_Query( array( 'job_posting_type' => 'Job Post' ) );                  

if ( $query->have_posts() ) : ?>
    <?php while ( $query->have_posts() ) : $query->the_post(); ?>   
        <div>
            <h2><?php the_title(); ?></h2>
            <?php the_content(); ?>
        </div>
    <?php endwhile; wp_reset_postdata(); ?>
<!-- show pagination here -->
<?php else : ?>
    <!-- show 404 error here -->
<?php endif; ?>
8
Guy Brown

カスタム投稿タイプの名前が「job_posting」であると仮定すると、クエリを次のように変更するだけです。

$query = new WP_Query( array( 'post_type' => 'job_posting' ) );

これは 公式ドキュメント内 にあります。

使用したいパラメータが他にもたくさんあります-私がリンクしたドキュメントで完全なリストを見つけることができます。私が検討することをお勧めするものは、posts_per_page(すべてを一度に返さないようにする)、およびドラフト/プライベート投稿が返される場合に備えてpost_statusを 'publish'に設定することですとにかくすべきではありませんが、私は安全であるのが好きです;))。

14
Tim Malone