问题
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!
回答1:
I think here's what you need.
$categories= get_categories('child_of=10'); for each $categories as $category {
//Display the sub category information using $category values like $category->cat_name
$posts_array = get_posts( 'category=$category->cat_ID' );
for each $posts_array as $post {
//Display the posts information using $post values like $post->post_title
} }
You just need to format them. Hope this would be of help.
回答2:
@Free Lancer, Thanks again.. after working with your code for a bit, I was able to make it work. Some of the changes included:
'for each' changed to foreach
foreach
statements wrapped in ()
I also changed the 'category=$category->cat_ID' to 'cat='.$category->term_id
lastly, I changed the foreach loop on the posts and added setup_postdata( $post );
to that loop.
For all that need a snippet that will display a list of subcategories, within a specified category, AND show all the posts within each of those subcats.. here it is:
$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>';
}
Thanks again for all the help and pointing me in the right direction !!
来源:https://stackoverflow.com/questions/7410751/wordpress-display-list-of-sub-categories-and-the-posts-they-contain-within-one