WordPress is the web’s most popular content management system powering over 70,000,000 websites worldwide. With this amount of mass-usage, some of the most talented developers around have chosen WordPress as their development platform of choice. These developers aren’t born with the skills to make WordPress functional and elegant.
Fortunately, there are numerous resources to help developers hone their WordPress mojo. This article is intended to serve as a resource for both newcomers and seasoned developers to both learn how to develop better websites and how to find answers to often ambiguous or complex questions.
As far as development goes, WordPress has one of the lowest barriers to entry of any platform. This doesn’t mean that anyone can become without having any other web experience. These the folowing items are the foundation of any WordPress Developer’s skills.
PHP & MySQL
WordPress’s Content management system is written almost exclusively in PHP with MySQL as it’s database backbone. Having a grasp these two technologies will help you develop better on the platform. Lynda.com has a great introductory course to PHP & MySQL which will walk you through building your own (custom) CMS. Though many the things you learn, such as database queries and includes are handled by WordPress through its own functions, understanding what these functions actually do under the hood will help you build sites better.
Local Development Environment
Having a local development environment allows you to work with WordPress on your own computer and is the quickest way to develop sites. This is part of any standard development workflow. There are several ways to install WordPress locally. The easiest way to do this is with something like BitNami which allows you to install all off of the WordPress components through an easy to use application. To get more advanced install an AMP (Apache, MySQL, PHP) stack. MAMP is a good way to do this for users on a Mac. WAMP is a good tool for users on a windows machine. The most advanced users often opt in to installing these services individually and often replace the standard PHP install with PHP-FPM and Apache with NGINX for better performance while using fewer system resources. Who Is Hosting This also offers reviews of the top shared hosting packages, which could be a great option for developers just getting started, or is having trouble working from a local server.
Once changes are made to a site locally, in a standard development workflow, the next step is to push the files to a staging environment. This will mimic how a production (public-facing) website will loop and perform, but is not publicly accessible. Launching a small cloud server instance through a company like Digital Ocean is an affordable way of creating a staging environment on a dedicated cloud server, less than $5 per month.
Note: Amazon Web Services and Rackspace are the top two providers of cloud servers, but Digital Ocean is much cheaper, and is a startup.
Text Editor / IDE
Choosing a text editor can be a very personal choice, such as choosing a brand of cars. With that being said, some text editors are much more fit for WordPress than others. The editor of choice for most WordPress developers is Sublime Text 2, which is an open source text editor with a wide range of features. Pauluund has a great post on Web Development with Sublime Text, which will show you all of the key features that a WordPress developer would use.
2. Working With WordPress
Now that all of the prerequisites have been met, it is time for the fun part, working with WordPress.
Installing WordPress is super-easy with the famous 5-minute install. One thing to note is that the instructions are listed on the WordPress Codex. The Codex is WordPress’s living documentation, and is a great point of reference for almost any WordPress issue.
When Things Go Wrong…
Most, if not all developer run into problems, especially when they are first getting started. When this happens, it is important to find the right place to get support.
Getting Basic WordPress Support
WordPress is a thriving Open Source project with thousands of active community members. Many of them offer their assistance through things like forms and Q&A sites. For most questions, the best place to go is the WordPress Support Forums and post the issue in the appropriate category. Most posts get responses (and subsequent answers) within a matter of hours. Be as specific as possible for the best results; the more information the better.
More Advanced Support
Another place to get support is the WordPress Stack Exchange. Similar to Stack Overflow, there are hundreds of daily active users. Please note, Stack Exchange has very specific rules for formatting and what questions should be asked, keep all questions on the WordPress topic. For more generalized programming questions, Stack Overflow is the appropriate Q&A Site. All of the questions on these sites are geared towards developers.