This week, we want to go through some of the initial steps we did of creating a WordPress plugin. WordPress started out as a simple blogging online application, but has developing into a widely used, open source, publishing system built on PHP and MySQL. From the beginning, WordPress has been structured for others to start with a framework and make the website their own, from adding custom themes to implementing their own plugins. A WordPress plugin is an application to provide a service, from a homepage photo slideshow to adding a sidebar widget to display the weather in a specific city.
Planning A Plugin
Completion Time: 1-6 hours
What We Will Be Using: Pad And Paper
We will be constructing a WordPress plugin that will collect youth ministry games from guest visitors, have a review display for the administrator, put them into a database, display in several forms to the users, and be searchable in many ways. This provides for many levels of PHP, MySQL, CSS, and logic engineering innovation. While several parts of the process to create this plugin will be proprietary, we will go over all the steps you will need to create a plugin for WordPress.
But to leave the planning process will make the process long and frustrating. We can press forward and envision what the parts of the website are going to look like. Nothing has to be perfect yet, but the more time you spend at this point of the process, the smoother and more streamlined the rest of the coding will go. At the same time, dream for the world and then you can take out what is not reasonable or could wait to be put into future versions.
All of the different people should have a say in this plugin: the client, designer, other programmers, and any financial people who should speak into it. Part of this process will be defining what the elements are and others parts are the workflow of the plugin. Grab a pen and paper or a whiteboard and many different colored markers with a couple of hours and just go crazy. Here are some great questions to think about in this process:
- What do you want the plugin to do?
- Is there already something out there that does what you want it to do?
- What does this plugin NOT do?
- Who will be coming to use this plugin?
- What all do you want to be available to the administrator?
- What general kinds of data do you want to be collecting, if any?
- What are the different pages for this plugin (for the user and the administrator)?
- Is there anything I do not have to reinvent?
- What will the time tables and cost of this project be?
The next step will be to work with the MySQL database structure, which we will look at tomorrow.