Just recently I did some WordPress development work for a graphic design company. I thought their portfolio section was quite nice and used a few custom NextGen Gallery templates to pull it off. Here’s how I did it (mostly so I can do it again easily, but I hope this might help someone else too!).

Here’s a screenshot of the finished album:

NGG Custom Album

And here’s one of the galleries:

NGG Custom Gallery

(This post assumes you’ll need both Albums and Galleries, if that’s not the case, skip ahead as needed.)

After setting up each of the galleries and the album in NGG with some sample photos, I made two custom templates based off the existing NGG ones: album-clientname.php from album-extend.php, and gallery-clientname.php from gallery-caption.php. To make these, open the NGG plugin and you’ll find the original templates in the /view folder. Copy them and paste them into a new /nggallery  folder in your theme, then change the names as needed. Don’t forget to then go to the album and gallery pages in your site and change the shortcode to match the new template names:

[ album id=1 template=clientname] and [ nggallery id=1 template=clientname]

You’ll remove that extra space between the opening bracket and the first word in your own shortcode.

Here is the code for album-clientname.php:

And the code for gallery-clientname.php:

I didn’t change them too much; in the gallery template I removed some unneeded code and added a container around the alttext (which I’m using for the title on top of the thumbnail). In the album template, I removed the photo number and moved the album title, again adding a container to make it easier to style with CSS.

Here are the styles for the album – pretty simple:

Here’s the styling for the galleries:

For the gallery, I also needed to use a modified page-title on those pages that would show over the header image:

I made a new page template called page-galleries.php to use for the gallery pages so I’d have a body style I could hook into.

All in all this took about an hour to do, start to finish. I think it’s a nice-looking portfolio and I hope you find this useful!

I used to use a few different contact form plugins (most often Contact Form 7) that did the job, but more recently have started using Gravity Forms for all forms needed on client sites. It’s just easier to style one plugin’s elements with CSS than having to support several, and GF can handle anything from complex multi-page forms down to the simplest contact form.

Gravity Forms isn’t free, but it’s worth every penny. For an individual website it’s $39, but I’ve had a Developer License ($199) for over a year that allows me to install it in unlimited sites.

What I love about Gravity Forms:

  • It has a clean, simple interface out of the box;  a lot of CSS styling isn’t necessary, but it’s set up with classes to make it easy if you do need to do extensive styling;
  • Conditional sections (that appear only when certain conditions in the form are met) are easy to set up;
  • WordPress user registration can be included in any form;
  • Has a pretty nice form widget;
  • Supports auto-responders;
  • Export entries to Excel/csv without an additional plugin;
  • Integrates with Mailchimp, Aweber and Campaign Monitor (pro and business versions);
  • Accepts payments by integrating with Paypal, Authorize.net or Freshbooks (pro and business versions);
  • Has new features coming out fairly regularly (most recently – signatures through touch-screen devices, polls, and SMS notifications for form submittals;
  • Has great tech support and user community.

That last list item is the reason I decided to go with a Developer license. I’ve gotten very detailed help from the support community on a number of projects.

If you’ve used a number of different form or form widget plugins and are looking for one stable and comprehensive one that can do it all, I’d recommend checking out Gravity Forms. It’s definitely worth the cost.

This series is for helping fellow WordPress designers add useful  functionality to their websites by pointing out some of the great plugins I run across while building client websites. I hope this helps you!