Pippins Plugins
  • Email
  • Facebook
  • Feedburner
  • Github
  • Google
  • Twitter
  • Vimeo
  • Youtube
  • Rss
  • About
  • News
  • Join the Site
    • Member Benefits
    • Member Plugins
    • Email Notifications
  • Plugin Store
    • Affiliate Area
    • Checkout
  • Plugins
    • Plugin Portfolio
      • Plugin Portfolio – List View
    • Free
    • Premium
    • Member Plugins
    • Coding Standards
    • Get Plugin Support
  • Tutorials
    • Series
      • Plugin Development 101
      • Creating a User Follow System Plugin
      • Customizing Restrict Content Pro
      • Displaying Content with Easy Content Types
      • Writing Your First WordPress Plugins, Basic to Advanced
      • Working with Widgets
      • User Submitted Image Galleries
      • Plugin Thoughts
      • Integrating Stripe.com with WordPress
      • WordPress Rewrite API
    • Member Exclusive
      • Free Members
      • Subscriber Only
    • Difficulty
      • Beginner
      • Intermediate
      • Advanced
    • Action and Filter Hooks
    • Ajax
    • Custom Post Types
    • External APIs
    • Short Codes
    • Taxonomies
    • Video Tutorials
    • Widget Tutorials
    • WordPress Admin / Dashboard
    • Working with jQuery
    • WordPress Database
    • Writing Plugins
    • Tag Index
  • Reviews
  • Support Forum
  • Contact
    • Support the Site
    • Request Code Review
    • Plugin Support

User Submitted Image Galleries

Posted on December 29, 2011 by Pippin in Advanced, Custom Post Types, Member Restricted, Subscriber Only, Tutorials, Working with Attachments, Writing Plugins 19 Comments
Home» Series » User Submitted Image Galleries
Tweet
Love It - 4

This tutorial series will walk you through the process of creating image galleries that registered users are able to submit their own images to. The system that I’m going to show you how to build is extremely useful for photography sites, digital graphic/art sites, and more.

This entire series will be based off of the work I did for the CG Cookie Gallery System.

By the end of the series, we will have created a plugin that can do the following:

  • Display a paginated gallery of all images submitted on the site
  • Allow users to submit images directly to the gallery
  • Filter the gallery images by categories and tags
  • Require that images be approved before publication
  • Email notifications for new image submissions
  • Allow users to comment on other user’s images
  • View image portfolios of any user

The tutorials in this series will all be restricted to premium subscribers only. If you’re not a member, then register here and get immediate access!

  • User Submitting Gallery Images - Part 1
  • User Submitted Gallery Images - Part 2
  • User Submitted Image Gallery - Part 3
  • User Submitted Image Gallery - Part 4
  • User Submitted Image Gallery - Part 5
  • User Submitted Image Gallery - Part 6
  • User Submitted Image Gallery - Part 7
  • User Submitted Image Gallery - Part 8
  • User Submitted Image Gallery - Final Overview
attachments, front end, images, users

19 comments on “User Submitted Image Galleries”

  1. donnacha says:
    January 1, 2012 at 3:11 pm

    Could this be modified to allow visitors who are NOT registered to submit photos to that particular page’s gallery?

    That would be insanely useful for sites who want to make user submissions as frictionless as possible. If you want to crowdsource photos from casual visitors, requiring them to register is a huge barrier. The Holy Grail would be a simple multi-image uploader that allowed ANYONE to put their photos in the approval queue for that particular page’s gallery, in much the same that WordPress already allows unregistered users to leave comments – can you imagine the extent to which the number of blog comments would be reduced if you had to create an account every time you felt like sharing your thoughts on some random blog?

    WebDevStudios created a handy free plugin called NextGen Public Uploader which did this in tandem with the NextGen Gallery plugin but, sadly, they abandoned it before adding a couple of small but essential features. I reckon it could have been a very popular premium plugin, especially with the rise and rise of decent cameras in smartphones, matched by the increase in people seeking visual content, driven largely by the increase in tablets and smartphones. A simple plugin allowing public image uploads would spark a whole new genre of WordPress websites.

    Reply
    • Pippin says:
      January 2, 2012 at 8:50 am

      Those are great ideas.

      I really love the idea of public images. The system could allow anyone to submit images, but would permit registered users to keep a portfolio of images. It will be a little bit complex, simply because the images will be created with custom post types and will require an author, but that shouldn’t be too difficult to work around.

    • donnacha says:
      January 3, 2012 at 5:02 pm

      I’m glad you can see the potential, Pippin :)

      Personally, I don’t think that allowing registered users to keep a portfolio of images is all that important – sure, it might be a nice extra feature, but the reality is that very few small sites can hope for users to decide to make them their “home” for images, they’ve got big, established sites such as Flickr, DeviantArt and Picasa for that. Realistically, what a small site owner would be hoping for would be “drive-by” image submissions by users who stumble across that page’s gallery and momentarily feel the urge to add their own images to it.

      A typical use case might be a site about local businesses and, on a page for a certain restaurant, customers could upload snaps they took of their meals. They will probably never return to that particular page but they will briefly enjoy the opportunity to share their experience and other visitors will find it interesting to see what the meals at that particular restaurant look like.

      A much more important feature, one requested repeatedly on the WebDevStudios forum before it was abandoned, is the ability for users to submit their name, email and website address alongside their images (again, just like comments) because giving people credit for their contributions is important and, of course, you need to know who uploaded what if you want to run competitions.

      If that ancillary info is saved to certain standard gallery fields, it would be easy enough to set up your chosen slider or lightbox to pull that info from the WordPress gallery or NextGen Gallery in order to display it and include a link.

      Even more important, to avoid the devastating cost of legal action, there should be a tick-box so that the uploader can confirm that they give permission for their image to be published on the site and that they, themselves, have the right to give such permission. Uploaders can obviously lie but the fact that your upload process seeks confirmation is proof of good faith and absolves the site owner of liability under Safe Harbor provisions.

      Would it really be necessary to use custom post types? It strikes me that, if possible, it would be more streamlined to throw them straight into the native WordPress galleries and the added advantage of that approach is that hundreds of image display plugins are already designed to pull from WordPress galleries.

      Anyway, I hope it is something you will consider creating – I am convinced that this is one of those rare plugin ideas that would not just be useful to a broad range of sites, I believe it would also make possible a whole new genre of “User Generated Content” sites, covering every niche subject under the sun. I am genuinely surprised that this doesn’t already exist but the closet I could find was the Uploadify Integration plugin and that is a long way from being generally useable.

    • Ron Strilaeff says:
      October 18, 2012 at 6:52 pm

      Donnacha, some good news!

      According to the WP plugin repository, theNextGen Public Uploader got a fresh coat of paint. I don’t need an elaborate gallery, but I do need a a solid visitor image upload / crop / preview / submit plugin. So I’ll be checking it out and following the discussion here .

      Ron

  2. Pippin says:
    January 3, 2012 at 5:14 pm

    Man, awesome insight dude.

    As mentioned in the intro, the idea for this series came from a plugin I built for the CG Cookie network, and so the majority of the features and such that I’ve planned to include come from there as well.

    Things like the “You have the right to upload this image” tick box and saving submitter info are all on the table already, and will be in the final plugin.

    When building the original plugin, I debated whether you use the default WP media system or a custom post type. I decided on a post type because of the need to store author information and such. It also provided a really simple way to create a moderated gallery, where all image submissions have to be approved before they are published to the gallery. This is more difficult to do when not using a custom post type.

    The plugin that I’m building in this series, which is essentially an improved / more generic version of the one running on cgcookie.com, is going to be made available at the end as a complete plugin. I also plan to improve upon it further, and release the enhanced version as well.

    Reply
    • donnacha says:
      January 3, 2012 at 5:57 pm

      The CG Cookie site looks great, I joined in order to look at your upload system, really good stuff, the only improvement I can think of would be multiple-at-once selection of uploads.

      Do you envisage the final version in this series being capable of public uploads?

      I’m guessing that it would be difficult to create any sort of custom post type without a logged-in user but, then again, I’ve noticed that Gravity Forms’ CPT feature allows you to assign a default post author to whom all posts created by the form are assigned, so, I guess there are roundabout ways to do it.

  3. Pippin says:
    January 3, 2012 at 5:59 pm

    Yes, I’m going to incorporate the guest submissions. At this time, I’m thinking of the plugin creating a default “guest” user that all non-logged-in uploads will be assigned to.

    Reply
    • donnacha says:
      January 3, 2012 at 6:11 pm

      Great, I have signed up to a premium membership and look forward to learning a lot from you, thanks for answering my many questions :)

    • Pippin says:
      January 3, 2012 at 6:13 pm

      Awesome. I really appreciate the subscription, and even more then in-depth opinions / feedback.

  4. Michael Langham says:
    January 4, 2012 at 6:42 am

    Dialogue witnessed as above is about as good as it gets. Thanks to both of you for that, and to you once again Pippin for this vehicle and your plugins.

    Reply
  5. Rob says:
    January 19, 2012 at 4:25 pm

    Multi-upload would be a great addition. Thanks for the Tutorials!

    Thanks!!

    Reply
    • Jaylon says:
      August 23, 2012 at 4:16 pm

      Thanks for saihrng. Your post is a useful contribution.

  6. paul says:
    February 27, 2012 at 6:22 pm

    for quick and dirty image upload by unregistered members, you can probably use gravity forms + the custom post types plugin for GF.
    there’s also a plugin for nextgen gallery that allows that.

    Reply
  7. bradvin says:
    March 18, 2012 at 2:29 pm

    Hey Pippin,

    A great feature to build into this series would be a public voting system. I suppose you could just use your “love it” plugin to do this, but I think it could go one step further and check source IP so duplicate votes are not counted.

    Reply
    • Pippin says:
      March 18, 2012 at 3:00 pm

      The “Love It” plugin already checks for duplicate votes, at least when logged in :) I’m going to enhance the “Love It” plugin to allow non-logged-in users to vote as well, and then I will track IPs.

  8. psyao says:
    July 13, 2012 at 9:43 am

    Hi Pippin! Is something wrong with registration? I really would like to register for a paid membership but I’nt able to do it.

    Reply
    • Pippin says:
      July 13, 2012 at 1:05 pm

      What is happening when you try? Does it give an error of any kind?

    • psyao says:
      July 13, 2012 at 2:28 pm

      Strange. It just worked!

    • Pippin says:
      July 13, 2012 at 4:37 pm

      K, thanks for letting me know!

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  • Login

Lost your password?

Please enter your username or e-mail address. You will receive a new password via e-mail.

  • Facebook Become a Fan Like

  • Twitter Subscribe on Twitter Follow

  • YouTube Follow my Videos Subscribe

  • RSS Feed Subscribe with RSS Subscribe

Easy Digital Downloads

Most Loved

  • Love It Pro for WordPress
  • Write a “Love It” Plugin with Ajax to Let Users Love Their Favorite Posts / Pages
  • Simple Notices Pro Plugin for WordPress
  • User Bookmarks for WordPress
  • Front End Registration and Login Forms Plugin

Latest Premium Content

  • Plugin Development 101 – Introduction to Adding Dashboard Menus
  • Plugin Development 101 – Intro to Loading Scripts and Styles
  • User Follow System – Part 5
  • Plugin Development 101 – Intro to Short Codes
  • Plugin Development 101 – Registering a Custom Post Type
  • Plugin Development 101 – Intro to Actions

Latest Tutorials

  • Submitting Your First Pull Request to a WordPress Plugin on Github (2)

    Github is an extremely popular tool for managing WordPress plugins, and one...

  • Plugin Development 101 – Introduction to Adding Dashboard Menus (1)

    Adding new menus, both top level and sub level, to the WordPress Dashboard is a really common task for plugins...

  • Plugin Development 101 – Intro to Loading Scripts and Styles (16)

    In this part of Plugin...

Enter your email to receive automated updates when new posts are published

Latest Tweets

  • Shipped some serious code tonight, and now to hit the sack. https://t.co/1V68FVHYWg
    May 21, 2013
  • @tnorthcutt https://t.co/AuWTLzmqOY
    May 21, 2013
  • @tnorthcutt Figured it out, thanks
    May 21, 2013

Topics

Rémi Corson hook shortcodes contextual help add_options_page get_user_meta Sugar Event Calendar meta box add_shortcode campaign monitor Tom McFarlin wp_enqueue_script featured attachment image do_action forms plugin mail chimp login short codes authors Related posts bbpress comments recent posts post types apply_filters short code taxonomies custom post type images gallery Ajax Stripe taxonomy jquery widgets users add_filter easy content types add_action widget restrict content pro easy digital downloads

Weekly Newsletter

Useful Links

  • Join the Site
  • Plugin Store
  • Affiliate Area
  • Tag Index
  • Support the Site
  • Suggest a Tutorial
  • Random Post
  • Contact

Monthly Archives

(c) 2011 Pippin's Plugins