The Developer’s Guide to Supporting Your Themes – Video and Slides

Thank you to everyone who joined me yesterday for a remote workshop, in which I shared tips for supporting WordPress themes. Participants attended from around the world, and folks asked some great questions afterwards. The presentation was recorded, and the video, slides, and notes are below.

This session was the first in a planned series born at the 2017 Community Summit, with the goal to share best practices for support across the WordPress world. Stay tuned for updates on future workshops.

Video (38 min.)



1 – Welcome to The Developer’s Guide to Supporting Your Themes

2 – I’m Kathryn Presner, and I’m a Happiness Engineer on the Theme Team at Automattic. I help people with theme questions on both An online implementation of WordPress code that lets you immediately access a new WordPress environment to publish your content. is a private company owned by Automattic that hosts the largest multisite in the world. This is arguably the best place to start blogging if you have never touched WordPress before. and self-hosted sites – troubleshooting when there’s a problem, reproducing and reporting bugs, and customizing their sites to look and work how they want, whether through custom CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site. or a child themeChild theme A Child Theme is a customized theme based upon a Parent Theme. It’s considered best practice to create a child theme if you want to modify the CSS of your theme.

3 – I support over 100 themes on The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. and over 300 free and premium themes on

Do any of you enjoy doing theme support? Do you think of it as a necessary evil? I’ll give you tips on how to handle support so it’s less stressful, more enjoyable and satisfying.

4 – Be nice, empathetic, human, professional – If you show you’re human and care, you will help users realize you’re a real person just like they are.

Example –

5 – A few nice words about a user’s site are always an added bonus, help to humanize you.

6 – Acknowledge when people are uncomfortable with your instructions, offer reassurance and explain how things can be undone.

7 – Be patient, even with thread-hijackers.

8 & 9 – This is a user who jumped into the middle of a thread where I was helping someone with a theme – asking about a completely unrelated problem. I could see that they were frustrated, and also a new user, having jumped into a couple of other threads and started a few of their own. Instead of chastising and telling them to start a new thread, I tried to find someone to help with their other thread. I ended up jumping in to help them there.


10 – Gauge Skill Level: beginner, expert, in between – Ever heard “talk to me like I’m in kindergarten” or “I’m a total novice”? Try to adjust your explanations for the user’s level. Avoid jargony technical explanations, especially if the user is a beginner. Read between the lines if you’re not sure.

11 – Example:

12 – Example:

13 – Remember, folks are often frustrated at own their beginner skills!

14 – Think outside the theme: plugins, other themes – sometimes what a user wants to accomplish is much simpler or more logical with a pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the Plugin Directory or can be cost-based plugin from a third-party or even by switching to a different theme. Think about which route makes most sense.

15 – This user is halfway there. They’ve installed a plugin to add custom CSS, but they need help with calling in a Google font. Example:

16 – I’ll often think of things later and add them as a p.s. and I think that’s fine!

17 – In hindsight I could have also given them a direct link to the font they were looking for on Google fonts.

18 –

19 – Offer resources: Codex, tutorials, hire someone – What if something is “out of scope” for the kind of support you’re able to offer? What about that user who completely wants to change their theme, and refuses to consider a different one that might be better suited? Try to always give them somewhere to go, even if you can’t directly solve their issue, point them in the right direction, whether it’s a tutorial, Codex function, or even sending them to where they can hire someone for a custom job.

20 – Example:

21 – Foster community: let volunteers help, acknowledge – If you give support in an open venue the forums, leave space for volunteers, especially if a question is simple. Don’t necessarily answer every thread immediately. Praise community members when they give a great answer. It’s motivating and encourages them to come back and keep helping others.

22 – Example – “Ernest, thanks for the input about the Jetpack CSS interference.”

23 – Provide theme docs, FAQ, screenshots, screencasts – The most common thing users have confusion with is how to set up their site to look like your demo, so be sure your documentation explains how to do that step-by-step. Don’t forget screenshots, screencasts, even animated GIFs can be helpful!

24 – List steps & point to documentation. Don’t skip steps or assume anything.


25 – Example:

26 – Be realistic: enhancements, bugs, older browsers, uncommon devices – Be honest about bugfixes or enhancement requests, if something isn’t likely to change, say so. Set realistic user expectations. If a new feature is unlikely to be added, don’t lie, encourage to look for alternatives. If a bug is minor or doesn’t affect a lot of people and is unlikely to be fixed in the immediate future, don’t say it will.

27-29 Example:

30 – Limit channel-wwitching different thread/forum/venue – What if someone asks you a simple CSS question…. for a theme that’s not yours? If you can help, help – let them know where to go next time. Frustrating to have conversation cut off before it’s begun. Always imagine it’s someone’s first time in the forums

31 – Help someone even if it’s not your theme? If bit’s a simple question and you can, why not?


32 – Refer out if better expertise lies elsewhere – Kind of the opposite of what I just said about channel-switching, but… sometimes it turns out that the issue isn’t with something WP-related. Try to point them in the right direction.

33 – Example: Referring a user to an AdSense forum.

34 – Best Practices: child themes, custom CSS editor – Don’t assume users realize they shouldn’t edit the original theme files or risk losing all their changes when they update the theme. For CSS-only changes, suggest using the built-in custom CSS editor – if user needs theme-file change, explain how to make child theme.

35 – You can have a template answer – TextExpander is an amazing app for Mac. Example: Guiding a user in making a child theme so they don’t lose their changes every update.

36 – Screenshot of a pluggable function – Best practices goes both ways: wrap functions in an function_exists conditional so it can be redeclared it in a child theme

37 – Happy Users = Happy You!

38 – Screenshot of a user happy they were able to make a change. “Fabulous. I also figured out how to resize it, etc. I never thought I was going to be able to do this!!! Very happy.”

39 – What About You? What are your biggest challenges? What do you want to get better at?

40 – Where to find Presentation:

#support, #support-workshop, #themes