Blogs on the general principle of “don’t invade plugin territory” has been done a lot. But customers regularly ask me where the fonts are. Although some authors are baking in SEO and contact form functionality, I think it’s generally accepted that yoast and contact form 7 or other great plugins are left to do those jobs. Why?
- Themes usually only scratch the surface of those plugin functionality when they do bake in those features
- It prevents the user from keeping those settings when changing the theme
- It increases development time and support time which takes time from more important tasks and you're more likely going to have a theme that is full of bugs and with support tickets not being answered in a reasonable time frame.
If you haven’t heard or don’t yet agree with this philosophy here’s some articles I recommend reading:
So what about fonts? Are they theme or plugin territory?
Those three key points that apply to SEO and contact forms also apply to fonts.
- Themes don't usually provide the feature set that free plugins do
- When changing themes you can keep your settings. If you have styled things outside the theme like other plugins then keeping these settings is important
- You're increasing support and development time - which is not good for the business or customers as a result
Plugins are doing it better
Easy google fonts is great, it’s more advanced than any baked in theme solution I’ve seen because it allows you to change the font of anything you know the class name of! I use lot’s of theme too, I’ve never seen this in a theme. Otherwise you’re limited to what the theme has set for you to change which is usually the body tags and heading tags, maybe a few other things the developer thinks you may want to customize.
There are too many random things users want to change
Problem is whenever I’ve been asked about changing the color/font of x it’s virtually always for something never asked before! So if I were to make an option for every thing someone may want to change than list would be very very long. But with easy google fonts, you can change anything you want. Just find the class or add a class to the item you want to change.
Styling is theme territory?
You may consider it a styling thing so therefore is a theme thing. Just think for a moment on what a fonts module must do:
- Have a font picker,
- Have a color picker
- Have font weight picker
- Be able to pick the font set ( think latin ext )
- Some way of picking what you want to change ( otherwise you just have a massive list of changeable items and are bound to miss something a user wants to change )
- Pull in a list of fonts from google
- Provide font previews ( This isn't vital but as you can preview them on google but it makes picking font's much quicker )
This isn’t like a option to change the page background color - this is lot’s of coding. This is functionality.
Not all users want it
It’s easy to think because you want it therefore lot’s of users want it. I do get asked fairly regularly so I would have assumed the same but when looking at my theme Horizon in the wild, barely anyone has changed the font. If it’s a slim fraction of users that need that and there is a plugin that does it very well then this seems the logical route.
Then put it in a plugin
In order to abide by Themeforest’s “don’t put plugin functionality in a theme” requirement theme authors are just instead moving that functionality into a plugin. True, it is better, but it’s missing the point. Providing it as a separate plugin is much better but then you’re quite often reinventing the wheel. If you’re plugin is going to do a better job than in the repository then go for it, otherwise why bother?
So in summary, I’m not looking to reinvent the wheel and easy google fonts does such a good job of managing fonts. I do realise that some users are looking for a one stop does everything solution but as someone who also installs themes for clients - I don’t think you’ll save time in the long run. It creates more hassle than it’s worth. We as authors also need to be able to make a sustainable living from our themes otherwise you’ll going to end up with a badly supported theme or a theme that’s abandoned by the author.
THE THEME DEVELOPERS HANDBOOK
An eBook that covers everything I know about creating maintainable, secure and easy to use themes.