> For the complete documentation index, see [llms.txt](https://www.one.thezero.club/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.one.thezero.club/guide/theme-extending.md).

# Theme extending

This documentation section is yet to be updated and it is about proper ways to extend Zero One theme and make something super powerful.

## Theme files customization

Because Zero One is a theme made as a [plugin](https://www.one.thezero.club/guide/installation/folder-structure#from-version-4-0-0-zero-one-has-become-a-plugin), you can override every plugin file with the same name and file in the site/theme folder. But it must be in the same folder structure as in the plugin.&#x20;

#### Examples:

* **site/theme/blueprints/site.yml** overrides **site/plugin/zero-one/blueprints/site.yml**
* **site/theme/snippets/header/navbar.php** overrides **site/plugin/zero-one/snippets/header/navbar.php**
* **site/theme/templates/article.php** overrides **site/plugin/zero-one/templates/article.php**
* **site/theme/controllers/contact.php** overrides **site/plugin/zero-one/controllers/contact.php**
* and so on

### Visual example:

**File in Theme folder `site/theme/snippets/footer.php`**

📁 site/

— 📁 theme/

—— 📁 snippets/

——— 📄 `footer.php`

**Overrides Zero One plugin file `site/plugins/zero-one/snippets/footer.php`**

📁 site/

— 📁 plugins/

—— 📁 zero-one/

——— 📁 snippets/

———— 📄 `footer.php`

So you can copy a file from the `site/plugins/zero-one` plugin, to the relative folder inside `site/theme/` folder, change it, extend it, and safely update Zero One to new versions without worry. Your changes will stay untouched. Like a WordPress child theme, but more powerful.
