I used a tutorial I found for a slick little custom gallery in 3.4, but upon upgrade to 3.5 it no longer works. I'm trying to learn php still and can't seem to get this working again, as I either get errors or nothing at all. Anyway, prior to the upgrade all the user had to do was hit "Add media", upload whatever images he wanted displayed in the post [products, in this case], set the order of the images with the first image being the top/full size image, and then type his description in the text field, and when he hit submit it spit out the above all nicely formatted, like so:

```
single.php

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
x First image attached to post, large size x
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

--------------> Output of content box <--------------

xxxxxxxxxxxxxxxxxxxxxxxxxxxx  xxxxxxxxxxxxxxxxxxxxxxxxxxxx
x second image, thumbnail  x  x third image, thumbnail   x
xxxxxxxxxxxxxxxxxxxxxxxxxxxx  xxxxxxxxxxxxxxxxxxxxxxxxxxxx

```

Here is where I called it in single.php:

```
<div class="entry-content">
                <div id="top-image"><?php wpo_get_images('large','1','0','large',"$post->ID",'1','feat-img','div','main-thumb'); ?></div>
                <?php the_content(); ?>
                    <div class="outer-element">
                            <?php wpo_get_images('thumbnail','0','1','large',"$post->ID",'1','bot-thumbs','div','inner-element'); ?>
                    </div>
            </div>

```

And this is from my functions.php:

```
// Add the ability to use post thumbnails if it isn't already enabled.
// Not required. Use only of you want to have more than the large,
// medium or thumbnail options WP uses by default.

if ( function_exists( 'add_image_size' ) ) add_theme_support( 'post-thumbnails' );

// Add custom thumbnail sizes to your theme. These sizes will be auto-generated
// by the media manager when adding images to it on a new post.
if ( function_exists( 'add_image_size' ) ) {
add_image_size( 't1x1', 145, 200, true );
add_image_size( 't2x1', 307, 200, true );
add_image_size( 't2x2', 307, 417, true );
}

///////////////////////////////////////////////
//
// Start WPOutfitters.com Custom Gallery Function
//
//////////////////////////////////////////////

function wpo_get_images($size = 'thumbnail', $limit = '0', $offset = '0', $big = 'large', $post_id = '$post->ID', $link = '1', $img_class = 'attachment-image', $wrapper = 'div', $wrapper_class = 'attachment-image-wrapper') {
global $post;

$images = get_children( array('post_parent' => $post_id, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID') );

if ($images) {

    $num_of_images = count($images);

    if ($offset > 0) : $start = $offset--; else : $start = 0; endif;
    if ($limit > 0) : $stop = $limit+$start; else : $stop = $num_of_images; endif;

    $i = 0;
    foreach ($images as $attachment_id => $image) {
        if ($start <= $i and $i < $stop) {
        $img_title = $image->post_title;   // title.
        $img_description = $image->post_content; // description.
        $img_caption = $image->post_excerpt; // caption.
        //$img_page = get_permalink($image->ID); // The link to the attachment page.
        $img_alt = get_post_meta($attachment_id, '_wp_attachment_image_alt', true);
        if ($img_alt == '') {
        $img_alt = $img_title;
        }
            if ($big == 'large') {
            $big_array = image_downsize( $image->ID, $big );
            $img_url = $big_array[0]; // large.
            } else {
            $img_url = wp_get_attachment_url($image->ID); // url of the full size image.
            }

        // FIXED to account for non-existant thumb sizes.
        $preview_array = image_downsize( $image->ID, $size );
        if ($preview_array[3] != 'true') {
        $preview_array = image_downsize( $image->ID, 'thumbnail' );
        $img_preview = $preview_array[0]; // thumbnail or medium image to use for preview.
        $img_width = $preview_array[1];
        $img_height = $preview_array[2];
        } else {
        $img_preview = $preview_array[0]; // thumbnail or medium image to use for preview.
        $img_width = $preview_array[1];
        $img_height = $preview_array[2];
        }
        // End FIXED to account for non-existant thumb sizes.

        ///////////////////////////////////////////////////////////
        // This is where you'd create your custom image/link/whatever tag using the variables above.
        // This is an example of a basic image tag using this method.
        ?>
        <?php if ($wrapper != '0') : ?>
        <<?php echo $wrapper; ?> class="<?php echo $wrapper_class; ?>">
        <?php endif; ?>
        <?php if ($link == '1') : ?>
        <a href="<?php echo $img_url; ?>" title="<?php echo $img_title; ?>">
        <?php endif; ?>
        <img class="<?php echo $img_class; ?>" src="<?php echo $img_preview; ?>" alt="<?php echo $img_alt; ?>" title="<?php echo $img_title; ?>" />
        <?php if ($link == '1') : ?>
        </a>
        <?php endif; ?>
        <?php if ($img_caption != '') : ?>
        <div class="attachment-caption"><?php echo $img_caption; ?></div>
        <?php endif; ?>
        <?php if ($img_description != '') : ?>
        <div class="attachment-description"><?php echo $img_description; ?></div>
        <?php endif; ?>
        <?php if ($wrapper != '0') : ?>
        </<?php echo $wrapper; ?>>
        <?php endif; ?>
        <?php
        // End custom image tag. Do not edit below here.
        ///////////////////////////////////////////////////////////

        }
        $i++;
    }

}
}

```

If someone could steer me in the right direction, and maybe even explain what broke and any additional info so I could learn as much as possible would be great!