Title: Theme YAML &#8211; Use YAML instead JSON for your theme.json settings and styles
Author: landwire
Published: <strong>March 17, 2022</strong>
Last modified: September 22, 2023

---

Search plugins

![](https://ps.w.org/theme-yaml/assets/banner-772-250.png?rev=2695658)

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://ps.w.org/theme-yaml/assets/icon.svg?rev=2695658)

# Theme YAML – Use YAML instead JSON for your theme.json settings and styles

 By [landwire](https://profiles.wordpress.org/landwire/)

[Download](https://downloads.wordpress.org/plugin/theme-yaml.1.3.0.zip)

 * [Details](https://pcd.wordpress.org/plugins/theme-yaml/#description)
 * [Reviews](https://pcd.wordpress.org/plugins/theme-yaml/#reviews)
 *  [Installation](https://pcd.wordpress.org/plugins/theme-yaml/#installation)
 * [Development](https://pcd.wordpress.org/plugins/theme-yaml/#developers)

 [Support](https://wordpress.org/support/plugin/theme-yaml/)

## Description

Theme Yaml converts your theme.yaml file into theme.json so that you can configure
your theme with YAML. It has the benefit of being able to add comments and is more
concise than JSON. The generated theme.json is left as a one liner by default, so
that you can see it is generated. This however can be changed through the ‘theme_yaml_json_pretty_print’
filter.

The plugin automatically looks for a theme.yaml file in the active theme’s root 
folder when a page is loaded. If found, it will check its last modified time and
store the value in the database. If there are new modifications, the plugin parses
theme.yaml, converts it to JSON, and writes it to the theme.json file.

If the active theme is a child, it will also automatically run through this process
for its parent.

### Configuration

Add a theme.yaml file with your theme settings in your theme’s root directory. If
you already have an existing theme.json file, you can convert it to the YAML format
using an online tool. I personally use https://www.json2yaml.com/. The plugin will
then convert the theme.yaml file into JSON and save it to the theme.json file.

## Installation

 1. Upload `theme-yaml` to the `/wp-content/plugins/` directory
 2. Activate the plugin through the ‘Plugins’ menu in WordPress

## FAQ

### How does the plugin work?

The plugin automatically looks for a theme.yaml file in the active theme’s root 
folder when a page is loaded. If found, it will check its last modified time and
store the value in the database. If there are new modifications, the plugin parses
theme.yaml, converts it to JSON, and writes it to the theme.json file.

### Does it work for child as well as for parent themes?

If the active theme is a child, it will also automatically run through this process
for its parent and the child.

### Is there a way to pretty print the JSON file?

I left the generated theme.json file intentionally a one liner, so everybody can
see it is generated. But if you would like to change this you can use the following
filter to make the JSON file more readable:
 ` function pretty_print_json() { return
true; }

add_filter(‘theme_yaml_json_pretty_print’, ‘pretty_print_json’);
 `

## Reviews

![](https://secure.gravatar.com/avatar/16f83f29fa0e18e6804e389caf30e4b0da19de46ecb570873571191071fa6fa6?
s=60&d=retro&r=g)

### 󠀁[Very useful tool](https://wordpress.org/support/topic/very-useful-tool-104/)󠁿

 [Gyurmey](https://profiles.wordpress.org/gyurmey/) February 13, 2023 1 reply

Works really well!

![](https://secure.gravatar.com/avatar/127b0146d524b574fb7bc06e8fa0a31cf4216076e2d8171725e946f299572150?
s=60&d=retro&r=g)

### 󠀁[Really useful!](https://wordpress.org/support/topic/really-useful-263/)󠁿

 [Jakob Wiens](https://profiles.wordpress.org/jakobwiens/) April 6, 2022 1 reply

This plugin comes in pretty handy when developing block themes – since handling 
an ever-growing theme.json file really sucks and you can’t even use basic features
like comments, etc. But no more, with “Theme YAML” i can finally write and maintain
readable global styles and theme settings without a hassle 🙂 Very easy to use, 
there are no settings: Just install, activate and you’re basically good to go!

 [ Read all 2 reviews ](https://wordpress.org/support/plugin/theme-yaml/reviews/)

## Contributors & Developers

“Theme YAML – Use YAML instead JSON for your theme.json settings and styles” is 
open source software. The following people have contributed to this plugin.

Contributors

 *   [ landwire ](https://profiles.wordpress.org/landwire/)

“Theme YAML – Use YAML instead JSON for your theme.json settings and styles” has
been translated into 1 locale. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/theme-yaml/contributors)
for their contributions.

[Translate “Theme YAML – Use YAML instead JSON for your theme.json settings and styles” into your language.](https://translate.wordpress.org/projects/wp-plugins/theme-yaml)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/theme-yaml/), check
out the [SVN repository](https://plugins.svn.wordpress.org/theme-yaml/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/theme-yaml/) by 
[RSS](https://plugins.trac.wordpress.org/log/theme-yaml/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.3.0

Updated composer packages

#### 1.2.0

Added backup for theme.json

#### 1.1.1

Fixed readme formatting

#### 1.1.0

Changed settings to output the theme.json file in a more readable way. Also added
a filter to change the JSON encoding flags. Kindly suggested by Justin Tadlock in
his review of this plugin here: https://wptavern .com/new-plugin-for-writing-wordpress-
theme-json-files-via-yaml

#### 1.0.0

 * Initial Release of the plugin

## Meta

 *  Version **1.3.0**
 *  Last updated **3 years ago**
 *  Active installations **10+**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **6.3.8**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/theme-yaml/) and [Italian](https://it.wordpress.org/plugins/theme-yaml/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/theme-yaml)
 * Tags
 * [settings](https://pcd.wordpress.org/plugins/tags/settings/)[styles](https://pcd.wordpress.org/plugins/tags/styles/)
   [theme](https://pcd.wordpress.org/plugins/tags/theme/)[theme.json](https://pcd.wordpress.org/plugins/tags/theme-json/)
   [yaml](https://pcd.wordpress.org/plugins/tags/yaml/)
 *  [Advanced View](https://pcd.wordpress.org/plugins/theme-yaml/advanced/)

## Ratings

 4.5 out of 5 stars.

 *  [  1 5-star review     ](https://wordpress.org/support/plugin/theme-yaml/reviews/?filter=5)
 *  [  1 4-star review     ](https://wordpress.org/support/plugin/theme-yaml/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/theme-yaml/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/theme-yaml/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/theme-yaml/reviews/?filter=1)

[Add my review](https://wordpress.org/support/plugin/theme-yaml/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/theme-yaml/reviews/)

## Contributors

 *   [ landwire ](https://profiles.wordpress.org/landwire/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/theme-yaml/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://saschapaukner.de)