下記のコードは記事の中にある画像(サムネイル以外)を全て表示させ、表示された画像が16枚を超えたら
ページ送りをするものになる予定でした。

このコードで本当に画像が16枚を超えたらページ送りするものの予定でしたが、
これですと記事の中に画像が20枚あったら20枚全部表示されてさらに他の記事も表示されないと
ページ送りしてくれません。

どうしたら解決するでしょうか?

ちなみにこちらのサイトを参考にしました。
http://kachibito.net/wordpress/custom/stacking-posts-in-a-grid.html

<?php 
  $num_cols = 4; // カラム数
  $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; // ページネーション
  $args = array(  
        'posts_per_page' => 16, // 1ページに表示するポスト数
        'cat' => 0, // 表示させたい記事カテゴリのID
        'paged' => $paged
        ); 
    query_posts($args);

  if (have_posts()) :
    for ( $i=1 ; $i <= $num_cols; $i++ ) :
      $counter = $num_cols + 1 - $i;
    while (have_posts()) : the_post();
  if( $counter%$num_cols == 0 ) : ?>

<?php $output = preg_match_all('/<img.+?src=[\'"]([^\'"]+)[\'"].*?>/i', $post->post_content, $matches);

    $all_img = $matches[1];
if( !empty( $all_img) ) {
    foreach( $all_img as $img ) { ?>
<?php echo '<img src="'.$img.'">' ?>
<?php 
  endif;
  endwhile;
    rewind_posts();
      endfor;//ここからページネーション作成
        next_posts_link('&laquo; 前へ');
        previous_posts_link('先へ &raquo;');
      else:
      echo 'no posts';
 }

}
endif; wp_reset_query(); ?>