Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I've found tons of code and plugins to do various things; from show posts for specific cats, subcats of a cat, etc.. BUT, I cannot for the life of me find, nor do I know the WP API well enough to do what I need with it..

Here is what I'm trying to accomplish:

Display a UL of all subcats within Cat31, and the posts for each of those subcats:

  • SubCat1

    • Post 1
    • Post 2
  • SubCat2

    • Post 1
    • Post 2
  • SubCat3

    • Post 1
    • Post 2

It's pretty straight forward, but all the loops I have tried fail either at the subcat loop or the post loop (one or the other works, I cannot get them both to work..)

So, unless I can find a plugin to do this (I'd prefer to code this into a template file!) then I need to figure out how to:

Loop Subcats within Cat31 while looping subcasts, loop posts for each subcat

Any help is GREATLY appreciated!

share|improve this question
add comment

2 Answers

up vote 1 down vote accepted

Question was answered on another site.. thank you! BTW, the code that accomplished what I needed was:

$categories =  get_categories('child_of=31');  
foreach  ($categories as $category) {
    //Display the sub category information using $category values like $category->cat_name
    echo '<h2>'.$category->name.'</h2>';
    echo '<ul>';

    foreach (get_posts('cat='.$category->term_id) as $post) {
        setup_postdata( $post );
        echo '<li><a href="'.get_permalink($post->ID).'">'.get_the_title().'</a></li>';   
    }  
    echo '</ul>';
}
share|improve this answer
add comment

Here is the final code used to create a podcast page out of WP Posts. In case anyone could benefit from it.

<?php     
    $categories =  get_categories('child_of=31');  
    foreach  ($categories as $category) {
        //Display the sub category information using $category values like $category->cat_name

        // display category image, if one exists - place image in /images/podcast_images/ dir  
        $cat_img = '';
        if(get_bloginfo("url") .'/wp-content/images/podcast_images/' . $category->slug . '.jpg' != ' ') {$cat_img = '<img class="podcast_category_image" src="'.get_bloginfo("url") .'/wp-content/images/podcast_images/' . $category->slug . '.jpg" />';} 

       echo '<h2 class="podcast_h2">'.$cat_img.$category->name.'</h2>'; 
        // start a list for the podcasts
        echo '<ul class="podcast_series">';
        foreach (get_posts('orderby=post_date&category='.$category->term_id) as $post) {
            setup_postdata( $post );
            // format date
            $my_date = mysql2date('F j\<\s\u\p\>S\<\/\s\u\p\>, Y', $post->post_date);

            // load the custom fields for this post, if they have content
            if(get_post_meta($post->ID, 'Speaker', true)){ 
                $speaker_name = '<div class="speaker"><strong>Speaker: </strong>'. get_post_meta($post->ID, "Speaker", true).'</div>';
            } else {
                $speaker_name = '';
            } 
            if(get_post_meta($post->ID, 'Scripture', true)){ 
                $scripture = '<div class="scripture"><strong>Scripture: </strong>'. get_post_meta($post->ID, "Scripture", true).'</div>';
            } else {
                $scripture = '';
            } 
            // echo out the results into a list item
            echo '<li><a href="'.get_permalink($post->ID).'">'.get_the_title($post->ID).'</a>'.  $speaker_name . $scripture.'<div class="podcast_date"> Recorded On: '. $my_date .'</div></li>';   
        }
        // close the list
        echo '</ul>';
    } ?>

This code will loop through all posts in Category 31 (in this example) and display the sub-categories and their posts. I first created a category for PODCASTS (which is cat. 31) and sub categories within it, for podcast series.

The result is a list of subcats within our main podcast cat.. and the posts (podcasts) for each of those subcats listed below it:

Sub cat1 podcast 1 podcast 2 podcast 3

Sub cat2 podcast 1 podcast 2 podcast 3

Thanks to all for the help!

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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