He aquí la función de paginate (); que usamos en options-plugins

query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;

  $pagination = array(
    'base' => @add_query_arg('page','%#%'),
    'format' => '',
    'total' => $wp_query->max_num_pages,
    'current' => $current,
    'show_all' => true,
    'type' => 'list',
    'next_text' => '»',
    'prev_text' => '«'
    );

  if( $wp_rewrite->using_permalinks() )
    $pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' );

  if( !empty($wp_query->query_vars['s']) )
    $pagination['add_args'] = array( 's' => get_query_var( 's' ) );

  echo paginate_links( $pagination );
}
?>

Y para mostrar la paginación en la página del tema se debe de poner este PHP:

max_num_pages );
          if($max > $i){
            echo "";
          }
          ?>