> For the complete documentation index, see [llms.txt](https://docs.hostinger.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hostinger.com/wordpress/themes.md).

# WordPress Themes

Learn how to install, switch, customize, and update WordPress themes on Hostinger, including uploading zips, using child themes, and API deployment.

Themes control the look of your WordPress site. Install from the WordPress directory, upload a zip, or deploy via API.

## Install a theme

### From the WordPress admin

1. **Appearance** → **Themes** → **Add New**.
2. Browse or search.
3. Click **Install**, then **Activate**.

### Upload a zip

1. **Appearance** → **Themes** → **Add New** → **Upload Theme**.
2. Upload the `.zip`.
3. Click **Install Now**, then **Activate**.

### Via API

Deploy a theme with the [Deploy WordPress theme](/api-reference/endpoints/wordpress/themes/deploy-wordpress-theme.md) endpoint. Optionally activate automatically.

## Switch themes

1. **Appearance** → **Themes**.
2. Hover over the theme.
3. Click **Activate**.

Switching themes doesn't delete posts, pages, or media — only the presentation changes.

## Customize

### WordPress Customizer

1. **Appearance** → **Customize**.
2. Adjust colors, fonts, layout.
3. Click **Publish**.

### Full Site Editing (FSE)

If your theme is a block theme, go to **Appearance** → **Editor** for drag-and-drop editing.

## Child themes

A child theme inherits from a parent theme but isolates your customizations — so parent updates don't overwrite your changes.

Create a directory in `wp-content/themes/` with a `style.css` that references the parent theme and a `functions.php`.

## Update themes

1. **Appearance** → **Themes**.
2. Click **Update Now** on themes with updates.

> **Tip:** Back up first. See [Backups](/websites/backups.md).

## Troubleshooting

**Site broken after activating a theme** Switch back to a default theme (e.g., Twenty Twenty-Four) via SSH:

```bash
mysql -u dbuser -p dbname -e "UPDATE wp_options SET option_value='twentytwentyfour' WHERE option_name='template' OR option_name='stylesheet';"
```

***

*Last updated: July 21, 2026*
