As you may know, we are now constructing a website to vote for the hottest 3D models in Columbia University. As a newcomer in the field, I found the task nothing easy. Therefore, I feel obliged to introduce WordPress, or more specifically, its plugins, to you, for all the time they have saved me.
WordPress (www.WordPress.org) is a typical CMS, Content Management System. It’s amazingly convenient in the first place: just click the “download” button on its homepage and install it on your server, basically a well-behaving website that is ready to use. A lot of functionalities are already there: writing new blogs, posting them out, adding various media types, etc. If you are not looking for a really customized one, you’ve done most of the work you need.
In some cases you may not be satisfied with that basic installation. So here comes the most fascinating part of the WordPress system: the themes and the plugins.
The functionality of themes is straightforward: they allow the constructor to alter the appearance of the website. As you can imagine, one whose main objects are images must look very different from one who is serving articles. Choosing a theme is the first step I’ve done for my site.
What the plugins can do is much more diversified. The most important lesson I’ve learned in my using of WordPress is that whenever you need to add a new function, search for the corresponding plugins first. The plugins are contributed by users all over the world as they share their solved problems. Thus chances are that your problem is already solved by someone else. Here are the plugins I have used, maybe this can give you some intuition about how powerful the plugins can be:
1. Advanced Access Manager http://wordpress.org/extend/plugins/advanced-access-manager/
When you are building your own website, it is very likely that you would like to assign different authorities to different users. WordPress itself has provided five roles, but sometimes they are not enough.
For example, we want to check each post before it is officially published, i.e. we would like to allow users to upload their models only after they have been checked by the administrator. Instead of going through all these source codes to customize my own role, Advanced Access Manager offers an administrating panel to assign the capability:
The solution to our goal is now as simple as unclicking the “Publish Posts” on the leftmost column.
2. Custom Content Type Manager http://wordpress.org/extend/plugins/custom-content-type-manager/
WordPress allows users to upload various media types to their posts, but in some cases we need more than that. Usually when one would like to create a new input type, a series of tasks are involved, including adding a new widget in the new post page, storing the new file type in the database, and display it correctly. The core of the website we are constructing now is the uploading and demonstration of 3D models(especially .stl file https://blogs.cul.columbia.edu/dcip/2012/11/20/jsc3d-what-we-are-using-to-show-3d-models/), which is not included in the original WordPress system, or any other current plugins.
As you can see, the plugin offers a panel of creating some other field types. In most cases you can get what you want by clicking the “create” button. In my situation, though it does not provide me with 3D model content type, it offers an easy-to-use interface of creating new widgets in the new post page, and more importantly, what comes with the content types it provides are several examples of how to create a customized one. And its documentation is really informative because the problem they are solving is now similar to yours. Thus, by reading its source codes, I get a much more intuitive insight about how to go through the whole process.
3. Featured Posts with Multiple Custom Groups – FPMCG http://wordpress.org/extend/plugins/featured-posts-with-multiple-custom-groups-fpmcg/
After you have got a certain amount of posts, it is necessary that they are classified into several categories for management purpose. This is exactly what this plugin does. What we want in our website is a little different: since the voting for the best 3D model is periodical, some models would still appear in the website as winners, but not available for voting any more. Therefore a banner on the corner of its thumbnail on the homepage denoting that they are already printed is needed.
In order to do that, FPMCG is helpful in that it provides a panel of managing the labels I would like to put on my banners, and has set a specific location to store them. What’s left for me to do is to find this location, extract the desired information, and design a banner style. As always, looking for the existing information is always much easier than creating some. So if your model gets this banner one day, don’t forget the plugin that makes it happen.
I hope that describing these plugins as powerful or even omnipotent does not make me seem useless. Nevertheless, they definitely saved me time and effort throughout the whole website-building process. Next time when you are enjoying the fun of WordPress, don’t forget these little helpers!