I have been working on this code for about a week now. I have tried many things. My recent attempts today resulted in infinite loops that just made the browser keep posting the posts.
This is what I get without limiting the posts.

This is what I have now and want setting number => 3 in my get_category args.

This chunk of code below is what needs to be paginated. The allcats variable is passed to the foreach loop and returns the posts needed. The args in the foreach loop gets passed to the query which would handle getting the posts that are listed under the categories of Dinner Menu, Lunch, Pasta. It's the foreach loop that I can't figure out how to re-write into a working query that I can paginate.
//setting the paged variable trying to get pagination
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
//the allcats variable gets the child categories of Dinner menu, Lunch, Pasta that are assigned to the parent category of Menu
$allcats = get_categories(array('child_of' => get_query_var('cat'), 'number' => 3,'order'=> 'asc', 'paged' => $paged));
foreach ($allcats as $cat) :
$args = array(
'category__in' => array($cat->term_id),
'paged' => $paged
);
now in the above code, I had hoped that setting the paged variable would work. I experimented by putting in 'paged' => $paged into the args but this does not work. Now I figured that it won't work because the number => 3 that is set above in the $allcats variable is telling WordPress to only return 3 categories. Problem is that I plan on having many more than 3 categories. I only want to display 3 categories on each page. The wine list that you see in the photo above needs to be on page 2. My issue is that I cannot figure out how to get the posts to show on a regular WordPress query so that the paged variable can do it's job. The only way I can get the posts the way I need them is by using the get_categories method with the foreach loop to get the child category.
I am using a plugin to get the images that are attached to the child category Here is the rest of my code
query_posts($args);
if (have_posts()) :
echo '<div class="menupageContent">';
//this bit of code gets the images attached to the category using the plugin
$terms = apply_filters( 'taxonomy-images-get-terms', '' );
if ( ! empty( $terms ) ) {
foreach( (array) $terms as $term ) {
if($term->term_id == $cat->term_id) {
echo wp_get_attachment_image( $term->image_id, 'menu' );
}
}
}
//Display the category title of Dinner Menu, Lunch, Pasta
echo '<h3>'.$cat->name.'</h3>';
echo '<ul>';
//Get all the post titles that are posted to the categories of Dinner Menu, Lunch, Pasta
while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php
endwhile;
echo '</ul></div><!--end menupageContent-->';
?>
<?php else :
echo 'No post published in:'.$cat->name;
endif;
wp_reset_query();
endforeach;
?>
<div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">←</span> Older posts', 'paradiso' ) ); ?></div>
<div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">→</span>', 'paradiso' ) ); ?></div>
get_categoriesdoes not have any sort of offset parameter. So you can't get the first 3 categories in one query and then the second in another. – helgatheviking Oct 15 '12 at 2:03