0

I have a custom post type called 'rooms' and I have categories assigned to specific rooms so they will order on the page in a specific way. The category IDs are 8, 9, and 10.

When I pull the below WP Query for a specific category, all of the rooms show up regardless of the category. I'm not quite sure where I'm going wrong but I feel that it is in my array args. Any help would be appreciated.

<?php 
$args = array(
    'numberposts'   => -1,
    'post_type'     => 'rooms',
    'category_ID'       => '8',);

$the_query = new WP_Query( $args );?>

<?php if( $the_query->have_posts() ): ?>
    <?php while( $the_query->have_posts() ) : $the_query->the_post(); ?>

        <div class="room-single">
                <img src="<?php the_post_thumbnail_url(); ?>" class="room-preview-image">
                <div class="room-single-content">
                <a href="<?php the_permalink(); ?>"><h3><?php the_title(); ?></h3></a>
                <p><?php the_field('room_excerpt'); ?></p>
                <a href="<?php the_permalink(); ?>">View the <?php the_title(); ?> room</a>
                </div>

            </div>
    <?php endwhile; ?>

<?php endif; ?>

<?php wp_reset_query();  // Restore global post data stomped by the_post(). ?>
1

category_ID is not a valid key for WP_Query. cat would be available instead, if you want to query a category:

Example:

$args = array(
    'numberposts' => -1,
    'post_type'   => 'rooms',
    'cat'         => 8,
);

$the_query = new WP_Query( $args );

If your category is not actually the taxonnomy category but a custom taxonomy, this would be another way to query it:

$args = array(
    'numberposts' => -1,
    'post_type'   => 'rooms',
    'tax_query' => array(
        array(
            'taxonomy' => 'your-category-taxonomy',
            'terms'    => 8,
        ),
    ),
);

$the_query = new WP_Query( $args );

Hope this helps.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.