KyleNumann
3/16/2013 - 9:03 PM

List all posts by category for top-level categories only

List all posts by category for top-level categories only

<?php
//query only for top level categories
$args = array(
  'parent' => 0
  );

// get categories from database
$cats = get_categories( $args ); 

    // loop through the categries
    foreach ($cats as $cat) {
        // setup the cateogory ID
        $cat_id= $cat->term_id;
        // Make a header for the cateogry
        echo "<h2>".$cat->name."</h2>";
        // create a custom wordpress query
        query_posts("cat=$cat_id&post_per_page=100");
        // start the wordpress loop!
        if (have_posts()) : while (have_posts()) : the_post(); ?>

            <?php // create our link now that the post is setup ?>
            <a href="<?php the_permalink();?>"><?php the_title(); ?></a>
            <?php echo '<hr/>'; ?>

        <?php endwhile; endif; // done our wordpress loop. Will start again for each category ?>
    <?php } // done the foreach statement ?>