Otrzymuj posty na niestandardowy typ postu za pomocą WP_Query

9

Próbuję sprawić, aby niestandardowy post zwrócił zapytanie i wyświetlał, ale zamiast tego zwraca i wyświetla domyślny / standardowy post. Jak uzyskać posty z mojego 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; ?>
Guy Brown
źródło

Odpowiedzi:

15

Zakładając, że Twój niestandardowy typ postu nosi nazwę „Job_posting”, wystarczy zmienić zapytanie, aby brzmiało:

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

Można to znaleźć w oficjalnej dokumentacji .

Jest też o wiele więcej parametrów, których możesz chcieć użyć - pełną listę znajdziesz w dokumentacji, z którą się łączyłem. Niektóre, które poleciłbym rozważyć, byłyby posts_per_page(abyś nie zwrócił wszystkiego na raz) i ustawienie post_status„publikować” na wypadek, gdyby zwrócone zostały wszystkie robocze / prywatne posty (które i tak nie powinny, ale lubię być bezpieczny ;) ).

Tim Malone
źródło