I have spent a great amount of time over the past few months building all kinds of WordPress sites, plugins, themes and whatnot. There are a lot of ways to get things done in WordPress. I have a bit of OCD when it comes to having theme-level control over your WordPress site. I don’t like to deliver a combination of plugins and themes to a client. I don’t want to have a database driven setup either. I want everything to be neatly bundled in the theme.
Also, while I’m proficient at using WordPress – something which I have been doing for almost a decade now – not all my clients are that experienced in that area. Especially once I’m done customizing to fit the client’s needs.
Some of the following tools can be installed as a separate WordPress plugin, however I tend to embed them inside the theme. Some plugins support theme-embedding and have been prepared to be used as part of a theme. Others require a bit of customization.
This is without a doubt the most powerful tool in this list. Redux is what they call an ‘options-panel‘ in WordPress-land. It’s a page where you can set up all kinds of settings concerning the look, feel, function etc of your site.
The way Redux works, is you just prepare a config file and then load it into your functions.php. Redux does the rest. At that point you can start requesting the options everywhere in your theme in the form of a global variable with no extra hassle.
Options can be arranged in neat little tabs and have different UI tools depending on the kind of setting you wish to add. The list of Redux fields and their customization options are quite impressive. A real core-feature of every WordPress theme I create. It really is a kind of backbone for every advanced theme I build. As I said: Massively powerful.
ACF & Addons
Ok, I lied: ACF (Advanced Custom Fields) is the most powerful tool I use during WordPress theme/plugin development. Redux is great because it provides you with a central point of settings. ACF provides you with settings/options on a per-post/page basis.
The extra power comes from the way you can create the options: after embedding/installing ACF in your theme, you can go into the WP-Admin and just create the required option-fields. These options are highly customizable (e.g.: conditional fields based on the currently selected template, post type, etc), highly user friendly (e.g.: combo-boxes that come loaded with countless options like post-types, posts, templates, pages, etc) and highly customizable (e.g.: description, title, fieldname, required, option-dependent, etc). If you want to see what that looks like, head over to the ACF website.
Once you’re done creating your option-fields and you’re done implementing the values into your theme-files, you can export these option-fields to a PHP file which you can then embed in the theme. Add a PHP variable in the functions file and you’re good to go: from this point on, ACF works as part of your theme-backend and doesn’t show the WP-Admin menu to customise the fields. Since the options are part of the theme, everybody who installs the theme will automatically have access to all of your pre-defined option-fields. It’s really insanely powerful.
ACF itself is free and comes with a TON of stuff built-in. If you need more fancy features, you might look into buying paid addons to extend the ACF feature set. Those can also be embedded along with your theme. One addon that proved to be particularly powerful for me, is the Repeater field. Check out the rest of their addons.
Visual Composer is a paid plugin. You can either buy it and install it as a plugin or embed it inside your theme. If you want to sell your theme, you can buy the extended license and sell it as part of your theme.
Visual composer is for your end user what ACF is for the developer: A powertool to quickly create beautiful pages/posts with lots of custom experiences, animations, etc. I could explain in depth how that works, but this video explains it a thousand times better. I actually use Visual Composer on my portfolio site.
This is a brilliant little plugin that helps with the page-navigation for posts and pages. It simplifies some setting up with the navigation menu’s. This plugin does not come with built-in support for theme-embedding so you’ll have to do some digging in the code to make sure everything works. Since the plugin becomes part of your theme, you don’t need to worry about breaking the plugin on update, as the plugin can no longer update automatically.
Although I stated that ACF is probably the most powerful tool in this list, I might be proven wrong by many people who’ve worked with WPML. I do think that the power of WPML is underrated, however it doesn’t help me as much during the development of a theme as ACF and Redux do.
Anyway: for those of you who don’t know what WPML is, it is a paid plugin to add multi-language support to your WordPress site. I have worked with multiple translation plugins but WPML is the one I tend to like the most. The way it’s implemented and how it works for the end-user is pretty neat and simple. If you use the default WordPress API’s to fetch all your data for the theme, you’ll be happy to know that WPML taps in to all calls and makes sure that the selected language of the site is respected at all times.
It works with just about any plugin or theme I’ve used so far, so no worries there. Great tool for clients who want a site with multiple languages.
Mailchimp for WordPress
Mailchimp for WordPress is actually a plugin and with some fiddling you can add it to your theme. I use it on several sites in combination with a Mailchimp account to gather email addresses for new contacts.
WP Migrate DB (pro)
WP Migrate DB Pro is not so much a tool I use to develop WordPress themes as it is a brilliant tool to deploy sites. It’s a paid plugin that you install on your development installation and on your live website. Then you just enter the necessary details and click ‘migrate’. The WordPress site is then completely migrated (theme’s, settings, everything) to your live website. This has saved me tons of time over the past few months.
As with WP Migrate DB Pro, Regenerate Thumbnails is another tool I use to deploy themes. This one is particularly handy when deploying themes to WordPress installs that already have content. This might be necessary if you have added custom thumbnail sizes. This plugin will generated those additional sizes for all images that are currently on your WordPress site.
You run this plugin once after the new theme has been activated. This will then go over all images uploaded to your WordPress website and generate new thumbnails based on your theme-thumbnail settings.
WordPress CSS Styles
The one thing I used to hate to do when creating custom WordPress themes is taking care of the user-generated content. The WP-Admin post/page WYSIWYG editor generates some HTML with CSS classes that need styling.
WordPress has this basic CSS snippet that provides all CSS classes/rules you might need to accommodate the user-generated content. You can then start working off of those while being certain you didn’t forget any. Big time-saver.
By far my most used tool: The WordPress Documentation (or Codex). WordPress comes with countless API’s, classes, functions, template tags and other nifty stuff. To make sure you understand all of it, WordPress provides very comprehensive and detailed documentation. It comes with overviews, examples, descriptions, and even a few code-samples which you can download. This is the Holy Bible of every WordPress theme/plugin developer.
How about you?
That’s it! Those are the WordPress tools I use on a regular basis when developing anything for WordPress. How about you? What WordPress tools and resources do you use? Anything I overlooked? Let me know!