Making the Perfect WordPress Theme: Maintenance, Compatibility, and Customer Care
In the previous part of this series, we reviewed what to avoid when making a WordPress theme. It is an important article because it's really easy to make those mistakes.
And in this article, we're going to go through the things we need to do after making our theme.
You should keep in mind that you must keep your theme up to date, make it compatible with popular WordPress plugins, and always provide excellent support for your customers.
Regularly Updating the Theme
Have you ever seen just a blank page after you installed a new WordPress theme? (I did, and it was truly depressing.) You can come across the famous white screen of death of WordPress when you install an old theme that is not compatible with the latest version of WordPress.
To avoid this awful issue for your customers, as a theme developer you need to constantly check your theme with the latest versions of WordPress. To check your theme in detail, you need to experiment with the newest features that new WordPress versions include.
While doing that, you should enable
WP_DEBUG and run the Theme Check plugin to make sure that there are no errors or warnings with the new version.
If there's anything that you should fix, do it immediately, and release the update as soon as you can. Users of the theme may not want to wait for an update and move on to another theme with a bad impression about you or your business.
Offering Compatibility for Plugins
Surely, there's no way of supporting every single WordPress plugin out there, but it is a plus for your theme to be compatible with some of the most popular plugins.
In this section, we're going to see the three big plugins that theme developers like to support in their themes, and how to support them in yours.
WooCommerce is probably the most popular e-commerce plugin built on WordPress. This free plugin has its own extensions (most of them are paid, some of them are free) and they can handle different payment gateways, shipping methods or even navigation types.
It has its own premium themes (created by WooThemes) but the plugin is coded in a way that every theme developer can make their themes compatible with it.
Making your theme compatible with WooCommerce is quite straightforward, actually - The 'Theming' category of the WooCommerce documentation has only eight articles:
- Third party / custom / non-WC theme compatibility
- Template Structure + overriding templates via a theme
- Hooks: Action and Filter reference
- Display category image on category archive
- Overriding the product search box (widget)
- Conditional Tags
- CSS Structure
- Make price widget draggable on touch devices
The simplest installation may be enough sometimes:
- Copy your theme's page.php file and rename it woocommerce.php.
- Remove the Loop and replace with
<?php woocommerce_content(); ?>
- That's it, you're good to go!
If that's not enough, and there's a pretty good chance that it will not be enough, you can always go deeper: Create a folder named woocommerce and place all the files you want inside the plugin's woocommerce/templates folder (which are listed here). This way, you can edit whatever you want for WooCommerce.
When you're happy with the results, go to your theme's functions.php file and add
add_theme_support( 'woocommerce' ); as a separate line.
BuddyPress is a well-known social networking plugin for WordPress. In its creators' own words:
it takes your WordPress.org powered site beyond the blog with social-network features like user profiles, activity streams, user groups, and more.
The good news about BuddyPress is, it's probably already compatible with your theme, out of the box! BuddyPress v1.7+ uses your theme's page.php file to work on its own, but if you'd like to include your own BuddyPress files, the process is just like with the WooCommerce integration:
- Inside the plugin, copy the contents of the /bp-templates/bp-legacy/buddypress/ folder to your theme's community or buddypress folder.
- If you want to use a different design than what your theme's page.php file has, duplicate that file and rename it to community.php or buddypress.php. Edit the file you created to change the design of your BuddyPress pages.
- If you want to override the default CSS files of BuddyPress, simply create a css folder in your theme root, copy the buddypress.css and buddypress-rtl.css files into it, and edit them as you like.
If you're stuck, head over to the BuddyPress Codex. It has a very extended documentation that will help you.
WPML is one of the most popular multilingual plugins for WordPress. While it doesn't have a "free" version (Bummer!), it provides some very crucial features when you pay for it.
Making your theme compatible with WPML is probably much simpler than the other two. (WPML.org has an extensive tutorial on this but I think we can call that a "website translation tutorial".) There are just two important points for your theme:
- Make your theme ready for translations (help and more info here).
- Put a wpml-config.xml file inside your theme's root directory.
After making your theme translation-ready, find the sample
wpml-config file on this page and you can edit it for your theme. You can also check the same page to see how you can edit the file.
After editing the file and placing it in your theme root, you can test how you did by visiting this page and downloading the plugin named "WPML Compatibility Testing Tool". After that, congratulations, your theme is now WPML compatible!
The Ways of Providing Customer Care
No one with a sensible mind would argue against the importance of "taking care of the people who buy your stuff", and that's why I'm not going to take your time to tell you how crucial this is.
Instead, let's go over our options to provide support for our customers:
Answering Customer Requests With a Public Forum
Like the forums of WordPress.org and ThemeForest, every download center and marketplace has a support forum to connect customers with theme developers. This is one of the first places that your customers will seek help, but since they're extremely crowded (and not just with your customers), both you and your customers could find it hard to communicate with each other there.
It's always a wise choice to keep an eye on those forums, but you know what would be better? Providing support from your own website!
A Complete Package for Excellent Customer Support
This will definitely take your time before going live, but it will definitely be worth it to provide a professional looking, extensive support section in your website.
While marketplaces' support forums provide a simple place for discussions and feedback, having your own support system can have more features like:
- A blog to publish news from your business
- A knowledge base
- An FAQ section
- Online documentation for each of your themes
- Direct contact information
...and more - since this is your own website, the sky is the limit. And rest assured that your customers will definitely love it!
In this article, we discussed how we can maintain our themes, how to make our themes compatible with some popular plugins and how to provide excellent customer care.
If you have anything to add, please share your thoughts by commenting below. And if you liked the post, don't forget to share it with your developer friends!