WordPress has lots of beautiful themes, but personalizing a design can be difficult and time-intensive. Styles changes that. Styles gives you creative control in one consistent interface – the WordPress theme customizer. Styles lets you make your site your own. 🙂
Features of the plugin
- Instant previews
- Text size
- Google Fonts with previews and search
- Text colors
- Border colors
- Background colors
- Hundreds of options
- Consistent interface and names in every theme
- Built on WordPress customizer, so Styles grows as WordPress grows
Styles and options for all built-in WordPress themes are free.
Free Theme Support Add-ons
- Styles on Github
- Code Walkthrough: How to add support for your own themes
- Upload the
stylesfolder to the
- Activate the plugin through the ‘Plugins’ menu in WordPress
- Install and activate your theme’s support plugin. If you are running TwentyTen through TwentyThirteen, Styles will prompt you to do this. If you would like to use Styles with other themes, check code your own.
- Edit your site under
Appearance > Customize
Does Styles support my theme?
Watch this walkthrough for a developer’s guide on how to add support. Adding one option takes only one line of code.
If coding isn’t for you, contact us for help adding options to your theme.
Will this plugin slow down my site?
No! Styles is very careful about only loading what is needed to get its job done.
Once done editing, stylesheets are cached and loaded for your sites users as quickly as possible.
In non-editing mode, Styles only outputs one cached CSS block to your site’s header.
Contributors & Developers
“Styles” is open source software. The following people have contributed to this plugin.Contributors
Translate “Styles” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
- Fix: jQuery Migrate compatibility.
- Fix: PHP 8 compatibility.
- Fix: Remove notices.
- New: Links to free themes in readme.
- New: Dismissable notices.
- New: PHP7 compatability. Thanks @davidbe929.
- New: Linked auto-install for styles-twentyfifteen by @dim.
- Fix: Avoid “Styles is almost ready” notice caused by plugins such as usernoise.
- Fix: Account for symlinks in plugin path for systems like Evermore WordPress Hosting.
- Fix: Only output version Font Menu notice if WordPress/PHP is out of date.
- New: Add link to Genesis theme support from The Stiz Media to readme.
- Fix: Resolve issues with option to reset settings. Thanks [@violacase](https://wordpress.org/support/topic/reset-with-stylestwentyfourteen] @JiveDig for the reports.
- New: Option to reset all settings.
- New: Option to enable debug mode to help when responding to support tickets.
- Fix: Error in CSS output caused by some WordPress translations, such as Hebrew.
- Fix: Support for custom suffixes.
- New: Detect :active selectors in custom options.
- Fix: Error when attempting to upgrade when no fonts were used.
- Fix: Issue that would cause saved CSS and previews to not completely apply when a Standard Font with a space in the name was selected.
- Fix: Some translations would cause CSS to not output completely.
- Fix: Issue with IIS servers that would cause Google Fonts to not appear. Thanks @Rivanni for the error report.
- Fix: Attempted fix for IIS servers.
- Fix: Missing Google Fonts after save.
- New: Previews in font menu. View screenshot.
- New: Search to filter font list.
- New: Updated Google Fonts.
- New: Google Fonts update in preview without page reload.
- New: Simplified plugin loader with nice notices for old WordPress versions.
- New: Update scripts to convert old font format to new format.
- Note: The update is well-tested, but in case of any issues, the upgrade script backs up old settings in
wp_optionsfor 30 days as
- Fix: Revert settings change made in 1.0.15. This was causing some users to no longer see their old settings.
- New: Increase memory limit for logged in users. May fix a white screen some users experienced when attempting to preview their site.
- New: Filter
styles_get_group_idfor merging with existing groups.
- Fix: Customize Theme button loads customizer for current site in network. Resolves #38. Thanks @jivedig.
- Fix: Child and parent theme options no longer effect each other. Resolves #29. Thanks @jivedig.
- Fix: Don’t display install notice for child themes. Thanks @ektreyes for the report.
- New: Allow notices to be disabled with a filter:
add_filter( 'styles_disable_notices', '__return_true' );
- New: Don’t display install notices for default themes if a plugin is installed and then renamed.
- Fix: Don’t display install notices for non-default themes. Resolves a regression introduced in 1.0.12.
- Fix: Improve detection of plugins adding support for themes
- Add support if `Plugin Name: Styles: NAME` matches `Theme Name: NAME`
- Add support if directory names `styles-NAME` and `theme/NAME` match
- Make theme check case-insensitive. Resolves issues for themes with capitalized folder names, like iThemes child themes.
- Thanks [@JiveDig](http://twitter.com/jivedig) for pointing some of these issues out.
- Fix: Improve activation notices for child themes
- Add theme options for a parent theme if they’re activated, but don’t show a notice requiring them.
- Detect and display which theme a plugin is trying to add support for.
- Correctly display the plugin name requesting activation in cases where the plugin doesn’t follow the recommended naming convention.
- This release goes to 11.
- Fix: Resolve issues with option to reset settings. Thanks @violacase @JiveDig for the reports.
- Enhancement: Enqueue customizer scripts in a way that’s easier for plugins to extend. Props @westonruter.
- Fix: Prevent warnings when no Styles child plugins exist. Thanks @pictureitsolved
- New: Add
styles_json_filesfilter to allow plugin authors to enqueue arbitrary customize.json files. customize.json in child plugins and themes are still enqueued automatically.
- Fix: Resolve regression in 1.0.8 that caused saved styles to not display.
- New: Minify CSS outputted in header based on input on poststat.us.
- Fix: Clearing a setting now updates the preview without a page refresh.
- Fix: Settings requiring “!important” are fixed and support live preview.
- Fix: Plugin header settings no longer conflicts with other plugins.
- Fix: Remove all options when uninstalling on a site network.
- Change: ‘color’ label now says ‘text color’.
- New: Contact links and developer resources added to readme
- New: Add installation notice to Customizer.
- Fix: Resolve blank screen that could appear when installing on a new theme.
- Fix: Correctly set outer background color
- Fix: Google fonts loading correctly once saved.
- Fix: Remove front-end PHP notice. (Minor; Only matters if WP_DEBUG is enabled.)
- Fix: Remove Customizer PHP notice. (Minor; Only matters if WP_DEBUG is enabled.)
- New: Completely rewrite Styles to use the WordPress Customizer API. Whew! That was a lot of work, but will allow us to grow closely with WordPress going forward.
- New: Styles 1.0 does not import 0.5.2 settings. However, you can always reinstall Styles 0.5.3 to get your old settings back.
- New: TwentyTwelve support.
- New: TwentyThirteen support.
- New: Remove gradients and background images. Sorry! We had to simpify and prioritize in the rewrite. If many users find Styles useful, we hope to bring these features back!
- New: Instant preview for many options using Customizer postMessage
- Fix: Display of icons in cases where WordPress is installed in a subdirectory or wp-content is moved. Fixes http://bit.ly/Jc7oyd
- Fix: Transparent background option
- Fix: Display of unavailable theme options
- Fix: Issue that would prevent Font styles from outputting if another option wasn’t set on the same element.
- New: Load themes from API: Allows for theme support to be added without plugin updates.
- New: Data structure: Allow settings to migrate from theme to theme
- New: Automatically rebuild CSS when theme is switched
- New: Wrap font settings into other options. This sets the stage to simplify the user interface in a future version.
- New: Add option to hide text and replace with image on any element
- New: Expand TwentyTen options
- New: Gradient Picker: Fix add marker, drag to remove marker
- Fix: Massive code clean-up: Removed 1,198 lines of code; modified 2,488
- Fix: Minor UI tweaks
- Fix: Saved CSS being one update behind
- Fix: Initial values of fields & background color picker
- Fix: Preview update stall
- Fix: Background value when no image selected
- Fix: Background replacement matching
- Initial public release.