My very first project was for my very own mother.  I created a site for her a very long time ago in Macromedia Fireworks (I think), and it fit the bill for a number of years.  However, it was impossibly difficult to update for her, and a real pain for me.  The time finally arrived when a new solution was needed.  Luckily, I recently learned the ins and outs of WordPress, and found a nifty little plugin called NextGen gallery.

First and foremost, NextGen gallery was installed.  Without this amazing and wonderful piece of software, I would be lost.  NextGen is relatively easy to manage, and provides spectacular display options, flash plugins, and slideshows to enhance the display of photos on a website.  The lightbox2 (or highslide) integration alone is worth its weight in gold (if it weighed anything, that is). In order to create the actual gallery, I started with pages.  One page was created for each gallery (earthenware, stoneware, etc…).  Then, two pages were created for the albums that categorize the galleries (My Work, and UWL Photos).

I created galleries for each set of photos in NextGen, then placed the NextGen tag in each page.  The album tags went into the album pages. For example, to create the Porcelain gallery, I created a page in wordpress with the title Porcelain.  I then created a gallery in NextGen, filled it with pictures, and found that it had an ID of 3.  I then went back to the Porcelain page (Manage>Pages>Porcelain) and inserted the gallery=3 tage as the content of the page. Other plugins I decided to include were:

  • Akismet – For spam filtering (included with WordPress)
  • All in One SEO Pack – This site needs to appear in the search engines when people search for “Karen Terpstra” so I installed this plugin and inserted the keywords “Karen Terpstra” wherever I could.
  • cFormsII – A good form creation utility, although probably overkill for a simple “Contact Me” webform.
  • Folding Pages Widget – Used to create the collapsing menu out of WordPress pages.
  • pageMash – Drag and drop pages into their correct order. Much better than the built in method of page ordering provided by WordPress.
  • stats – just for fun (for now)
  • WP Super Cache – I don’t expect much traffic to this site, but it seems like a good idea.

The Theme

Here’s where things got interesting.  My mom specified that she wanted a ‘home page’ that was just a large photo of one of her works.  She sent me three possibilities.  She also wanted a dark background, which is fairly standard practice for showing off a large number of photos on the web. Once I decided that I was only going to use pages, and wasn’t going to bother with posts, categories, or generally any other ‘normal’ wordpress feature, I felt I needed a simple theme that I could do some major surgery on.

I selected the Neonglow theme from luna-media.  I was intrigued by the use of transparency, and it was nice and simple.  After a few hours of hacking away (with the help of Firebug), I ended up with a decent, simple theme for the entirety of the site, except for the Home page. To create the Home page, I needed to put together an entirely new theme.  Why a new theme you ask? Well, to take advantage of the Page Template feature of WordPress.  I copied page.php (the main theme) to a file called customhome.php.  Then the necessary bit of code required to make it show up in the Page Template field when writing a new page.

View the documentation, or a helpful forum post on to get an idea of what I’m talking about (I’ll add a more detailed tutorial soon). Once I was able to apply my new theme file to the Home page, I pretty much removed everything from customhome.php aside from the code that displayed the content of the page (no title, header, footer, or anything).  I also left the sidebar so the menu would show up, and referenced a nearly identical .css file, only without a background image. The changing image is simply a NextGen gallery set to slideshow mode.  I have

This slideshow requires JavaScript.

as the only content in the Home page.  That’s it, no fancy javascript, no extra flash plugin, just that one little NextGen tag and a seriously hacked up WordPress theme.