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!

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 ?>
  • Why are you creating a new query instead of using the main query already created by WordPress? – swissspidy Jan 20 '18 at 10:15
  • its for a custom layout – cup_of Jan 21 '18 at 8:33

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.