0

Hello I have the following custom wordpress query. This displays all the blog posts just fine.

<?php $mymain_query = new WP_Query( array( 'post_type' => 'post','posts_per_page' => '10' ) ); while($mymain_query->have_posts()) : $mymain_query->the_post(); ?>

    //shortened code below
    <div class="blog-post">
        <h5><?php the_title(); ?></h5>
        <p><?php the_content(): ?></p>
    </div>

<?php endwhile; ?>
<?php wp_reset_postdata(); // reset the query ?>

But I when I plug this into archive.php it is still calling all blog posts instead of the ones in that category.

Can anyone suggest how to edit my code to only show the blog posts in that specific category?

Thanks!

1 Answer 1

0

I figured it out. Here is my solution

<?php 
    $categories = get_the_category();
    $category_id = $categories[0]->cat_ID;
    $mymain_query = new WP_Query( array( 'cat' => $category_id,'posts_per_page' => '10' ) ); while($mymain_query->have_posts()) : $mymain_query->the_post(); ?>

    //shortened code below
    <div class="blog-post">
        <h5><?php the_title(); ?></h5>
        <p><?php the_content(): ?></p>
    </div>

<?php endwhile; ?>
<?php wp_reset_postdata(); // reset the query ?>
2
  • Why are you creating a new query instead of using the main query already created by WordPress?
    – swissspidy
    Commented Jan 20, 2018 at 10:15
  • its for a custom layout
    – cup_of
    Commented Jan 21, 2018 at 8:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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