I’m finishing up a personal site that I’ve spent many weekends on. I’ve left one of the (potentially) most complicated parts to the end of production. I’m looking for some advice on how to proceed with a fairly customized portfolio / gallery feature.
I’ll note that I’m relatively new to wordpress, but not to building things with code (as3, javascritp, c#).
Use case looks like this:
User opens portfolio page, and a limited number (3 rows of 3) of thumbnail containers populate the screen. Thumbs are pulled in via ajax, and rollovers / effects are applied on the client side. Click of thumb floats a div over the page (ala fancybox). Div contains a larger image and then another hunk of markup detailing category tags, year, notes etc. Link in floated div opens folio item in a “project” page (a custom template), with this same, but perhaps expanded, information. In the long run, the user will have the choice of a few different presentation options, but this is where I’m starting.
The content is pretty varied, and so the format must be pretty flexible. Everything from single photos or illustrations, to a more complex breakdown and commenting of a completed project (web app or body of images, for example).
At the minimum, I need a data returned from query variables – and the easiest would be to just write up a static xml file/s and just run the whole thing via ajax. I could easily build the whole thing on the fly, client side, and just call it a day.
That being said, I would really like to integrate this content into wordpress and manage content dynamically. I’ve seriously considered rolling my own plugin to deal with data CRUD. I figure I need, at least one admin page, and then probably a couple of front facing templates for client side delivery. It would be nice to upload contents as well, but I can easily just use an ftp to do so.
So, first real question: how should I proceed with my first plugin, and what built in WP functionality can I leverage to make the process as smooth as possible (making use of the WP_query, or the post / page system, for example). Ultimately, I just need a basic data source / delivery system that I can extract via json or otherwise, and all my needs would be met.
Before I begin on one of these two build paths, is there a plugin that may suit my specific needs already? I’ve poked through Next Gen and the built in WP gallery, but I think they may not be flexible enough… it doesn’t seem like it. I’m not concerned with a wealth of features as much as a reliable data creation / delivery system. Thoughts?
Thanks in advance –
I think the best thing you could do is to take a look at others people WP plugins and themes.
WordPress codex has a lot of info on developing plugins using ajax:
http://codex.wordpress.org/AJAX_in_Plugins
For the backend side of things, I think the best approach would be to use a custom post type for the portfolio items. Then, getting each item is a piece of cake using get_posts() or query_posts() function.
There are also some themes out there that have a portfolio system. You might check the Ozon WordPress theme, for example. It is not free, though:
http://www.mojo-themes.com/item/ozon-wordpress-theme/