Baan Pak Sabai Resort – Something Old, Many Things New
Site BuildsPublished August 4, 2010 at 9:52 pm No Comments
BaanPakSabai.com was one of those website builds where I has no idea what I was getting into until I was already deep in it.
On the surface it looks like a straight-forward WordPress build with a sack full of plug-ins thrown onto a pretty theme template … if only it were that simple.
The background was straight-forward enough, the client had a fairly basic site built on Joomla! and trying to use the back-end to add content was far too complex and difficult for him. He wanted a replacement site built – one that he could actually understand how to use, and which would draw enough traffic and sales to pay for all the development work. Other than that, I would have a free-hand doing whatever was needed, as long as the existing content and photos were included in the final presentation. Seemed simple enough.
After assessing the client’s current site for content and functions (and totally overlooking one vital function – more on that later), the first major task was to obtain or create the right visual theme for the site. This was critical for two major reasons …
Firstly, the client had revealed in conversation that his major customers included repeat bookings from various units of the Thai military and police forces, “big-bike” motorcycle clubs, and, businesses either treating their staff to a break or using the resort for team-building weekends. These primary customer groups, in my opinion, would therefore respond better to a clean, crisp, easy-to-use visualisation, rather than a fluffy, frilly, family-focussed, tree-hugging style of site appearance.
Secondly, the site was to be not just an advertorial and local-news site, it had to be ecommerce enabled in a manner applicable to short term accommodation bookings, complete with all the teasers and attractors that would lead customers to booking chalets and rooms at the resort. I knew from the outset that integrating the ecommerce would need to be from a hotel / guest-house aspect, and that availability and reservations would be the key functions.
The client had stated very clearly that he did not need online payments, but I wanted to keep that option open for him just in case of a later change of mind. These requirements meant that the theme to be used would need easy-to-understand coding that was fast and simple to modify – heavy modification “behind the scenes” was going to be continuous and essential.
After several days evaluating themes I was familiar with, and searching for new options, I settled on the “Modern Style” theme by flexithemes.com which fitted the general visualisation requirement (minimising custom design and coding), and had a range of built-in functions that could be tweaked and leveraged. In the end, I dumped almost all of the built-in functions, and either replaced them, or froze them out in favour of plug-ins. This was mainly caused by a late addition of the need for a site that dynamically loaded or rotated images in several locations on each page. The built-in functions of Modern Style only provided for static images that remained the same on every page.
Specifically, a few weeks into the build, the client asked that the 125×125 side bar images (intended by the theme authors for advert slots) be random-rotating within image groups, for each slot to link to a specific info or customer action page. Knowing the theme’s inbuilt function couldn’t handle that, I tried the WP-125 plug-in, which also wouldn’t play with eight “adverts” loading in a block. Eventually, the concept was rescued by the plug-in AdRotate, which worked first time, and has never failed. It also includes some simple but very useful stats features for views and clicks.
I then leveraged AdRotate to also drive the gradiated images behind the text at the top of each static (non-blog, non-archive) page. This required some theme template and CSS modifications, but works superbly thanks to the excellent AdRotate code. Now, on each page load, a random scenic image is loaded and really sets off the initially visible part of the page.
Further down the page, I used NextGen Gallery in various modes to dynamically add image-thumbnail arrays below the content. Depending on the CMS page viewed, the gallery might load from a defined gallery ID, from a specific tag-words list, or in the blog, from a post-tags to image-tags match-up. It’s all “rather spiffy” and the client is very pleased with it. Again, full props to the author of NextGen and its add-ons. Using this also allowed addition of a photographic guest book function (on the site, it’s named PhotoShare) giving an additional feature that was not on the old site.
Modern Style is FlexiThemes’ free offering for the WordPress community, and sadly, at the time of writing is not yet updated for WordPress 3.0 but don’t let this put you off. For custom tweaking, it is very easy to work with, and lends itself well to child theme construction due to the modular CSS files – it behaved perfectly with all the style and visualisation changes thrown at it.
For the customer-facing functions, careful selection was needed. There are some excellent WordPress plug-ins available to handle bookings and reservations, unfortunately, most of them are technological overkill for a single, family-run, resort or hotel. At the time of starting the build, a plug-in called WP-Reservation was being actively developed, and apart from a few minor changes needed, it mostly fitted the site’s requirements, and those of the client for a simple, easy-to-use solution, whilst preserving advanced features to handle different types of reservable inventory.
Due to client requirements, I ended up heavily rewriting the code to handle per-room and multi-room reservations, as opposed to it’s original structuring for per-person reservations. I also had to add-in a per-asset, multiple-item booking option for items such as additional beds per room, camp site tent pitches, and tents of various occupancy capacity. None of this was on the original website, and was a requirement that grew from discussions as work progressed.
And then came the difficult stuff …


