One of the greatest things about WordPress is that just about anyone can use it to build a website or blog. A user doesn't need to know how to write code in HTML, PHP, or CSS. All it takes is some basic knowledge of SFTP and the WordPress file structure to get a site installed. On top of that, by installing pre-built themes and plugins via the WordPress dashboard, often a site can be fully customized to the user's requirements. For non-technical users, it's often this low barrier to entry they value in selecting WordPress to run their new site. And it probably goes a long way towards explaining why WordPress runs 25% of all websites.
However, WordPress also offers a foundation for software developers to build custom web applications. If you want to build your own custom themes and custom plugins to extend WordPress, you are going to need a more robust toolset than just the WordPress dashboard and an FTP client. The right tools will help you be more efficient in your work, collaborate with other developers, avoid costly mistakes, and recover from errors more quickly. Below, we describe a basic toolset for WordPress development that will help you get started. And the good news is that they won't bust your budget, as they are almost all free, open-source products.
Version control tools track changes to the files that make up your WordPress site, and allow you to save versions of those files. Not happy with that change you just made to a CSS or PHP file on your site? A version control tool will allow you to undo that change and restore your site back to its previous state. Having trouble remembering what changes you made to a client's site six months ago? A version control tool has a complete history of those changes, along with a record of who made them.
There are lots of different version control tools to choose from. One of the most popular tools is Git. Git originated in 2005 with the developers of the Linux kernel to support the open-source development of Linux. They created Git in an effort to provide a tool that was fast, efficient with large projects, and could handle a globally-distributed community of developers. Luckily for the rest of us, the tool they ended up creating also works incredibly well with WordPress.
A full-fledged education in Git is beyond the scope of this article, but here are some great resources to help get you started:
You can use pretty much any text editor to edit the source files within WordPress. There are many free ones available for download or that come bundled with your computer, such as TextEdit for Mac OS X. However, if you are doing more than just editing a few lines of code, you might want to consider a more robust commercial text editor made for software development. These editors include a lot of "developer friendly" features like code completion, coding standards and style checkers, and integrated debuggers that can help save time during development, and improve the quality of your WordPress code.
Local Development Environment
If you are doing custom WordPress development, it's a best practice to avoid developing directly on your Production server. Instead, you can create a local development environment that runs WordPress on your personal computer. This prevents site visitors from seeing your development work in progress, and also protects against bugs making their way into your live production site (where they can have much more severe consequences).
To make sure you catch as many bugs as possible while testing locally, it's important that your development environment matches production as closely as possible. This is called Dev-Prod Parity, and it will save you many headaches when it's time to deploy your application to Production. One way to achieve this is to use a tool called Vagrant which runs inside a virtualized environment called VirtualBox.
See our KB article for more information on how to get started using Vagrant. If you prefer to use a different local development tool, such as MAMP or Desktop Server, that's fine too. Just keep in mind that there may be differences between how those environments are configured and how our Production setup is configured, which can complicate your testing efforts. They are also not integrated with CenturyLink WordPress, so additional configuration may be required in order to successfully run WordPress.
Finally, there is going to come a time when you are doing custom development and you need access to the WordPress database. Maybe you are digging into the standard WordPress tables to work with the data, or adding your own custom tables and fields to work within a plugin. You're going to need a SQL client that connects easily and securely to both your local database (in your local dev environment) as well as your Production database.
You can use a tool like MySQL Workbench, which is free to download and offers a robust set of features. Our KB article describes how to get connected. Alternatively, if you are using a premium text editor such as Coda or PHPStorm your editor may have a SQL client embedded within it that provides the same features.
- Download MySQL Workbench
WordPress is the most popular CMS platform in the world for developing websites. If you want to create a site to showcase your blogs, Ecommerce, online community, school, or business, WordPress makes the process fast and seamless for all levels of technical depth.