The front-end of the gallery itself is fairly standard as far as image galleries go. The gallery part of the page is a specific size, and the thumbnail area displays a minimum of 1 row and maximum of 3 rows at one time. If there are more than 3 rows of thumbnails, then thumbnail-viewer control buttons come up for sliding the thumbnail area up or down. If the “UP” button is pressed when the thumbnail area is already at the top, then it wraps to the last 3 rows, ditto for “DOWN”. There’s also some hover animations for the thumbnails.
The back-end of the gallery is a different story. The “postgallery” plugin has two different tasks that it needs to complete:
- When a single post is being displayed, modify the content of the post so that the images in it become links to the postgallery page, which includes the postID so that the postgallery page knows what post it needs to display as well as the index of each individual image in the order that they appear in the post
- When the postgallery page is being displayed, get the content for the postID that was passed, and then pull out and prep information from that post for the actual displaying of the postgallery page content
Needless to say, regular expressions are used for these two tasks in many places and in a variety of ways.
Going into this project, I had a solid typical-Wordpress-plugin approach that I was going to take, which initially I had actually followed through on and completed. But once this initial plugin was put in place on the client’s test site, one by one, obstacles popped up that altered how I had to approach what I was trying to accomplish. In addition, there were some specific requests that the client had for how different functions should be done that differed from how I initially programmed. In the end, the final product is actually completely different from my initial plan of attack, which is pretty “that’s so how it is” with programming.
Oh, it also didn’t help that my IP was temporarily banned by the client’s hosting company because of the number of times and the different ways I was trying to access the FTP folder that the client had set up. Luckily it really was only temporary.