Getting Started
This guide walks you through the full process: from creating a project in ThemeForge to a working WordPress site with editable content in the admin panel.
1. Create a Project
- Log in to ThemeForge and go to Projects
- Click "New Project" and enter the source address. If the site is only a folder or an archive (for example, generated by an AI), tick "The source will be uploaded on the site" instead — see "Source on your site".
- Configure project settings: theme name, slug, pages to include
- Click "Generate" — ThemeForge will create a ZIP file with your WordPress theme
Supported Sources
- Webflow — paste your .webflow.io or .webflow.com URL. ThemeForge will download all pages and assets automatically
- Generic HTML — any static site with HTML/CSS/JS/images. Upload as ZIP or provide a URL
- AI-generated HTML — sites generated from Figma or by AI assistants with ThemeForge attributes already placed
2. Install the Theme
- Download the generated ZIP file from your project page
- In WordPress admin, go to Appearance → Themes → Add New → Upload Theme
- Choose the ZIP file and click Install Now
- Click Activate — your theme is now live
Important: your project must include a home page (/). This is the main page of your site and is required for theme generation.
The theme automatically includes a 404 error page and a search results page — no extra setup needed.
What happens after activation
- All pages from your design are created as WordPress pages
- Custom fields appear in the admin panel for each page (organized by sections)
- Theme Settings panel is available at Appearance → Theme Settings
- CSS, JS, images, and fonts from your design are included in the theme
Remote Update (alternative)
Instead of downloading a ZIP, you can enter your WordPress site URL in the project settings. ThemeForge will push the theme directly to your WordPress installation. This is useful for iterative development — make changes, regenerate, and the theme updates automatically.
3. Import Content
After installing the theme, you need to import the content (text, images) from your design into WordPress. ThemeForge stores all content from your HTML in a pages.json file inside the theme.
Import Order
Always import in this order to ensure images are available when text fields reference them:
- Import images first — uploads all images from the theme's images/ folder to the WordPress Media Library
- Import data — fills in all text fields, links, and image references for every page
- Import menus — creates WordPress navigation menus with all links from your design
Import Everything at Once
The import buttons are in your WordPress admin: go to Appearance → Theme Settings → Admin Panel tab. You'll see two buttons:
- "Load media" — uploads all images from the theme's images/ folder to the WordPress Media Library
- "Load data" — fills in all text fields, links, and image references for every page at once
- For menus, use the import buttons on the Appearance → Menus page (see "Import Menus" below)
Import Individual Pages
Each page has its own import buttons. Open any page for editing in WordPress — in the sidebar you'll see a "ThemeForge Import" metabox (click to expand). It has two buttons: "Load data" and "Load media files". Importing one page does not affect any other pages — safe for partial updates.
This is especially useful when you update a single page in your design and want to re-import just that page without touching the rest of the site.
Import Site Options
Site-wide options (phone, email, logo, social links) have their own import. Go to Appearance → Theme Settings → Options tab — the "ThemeForge Import" box appears in the sidebar. Click "Load data" to import all option values from your design.
Import Menus
Go to Appearance → Menus — you'll see a "ThemeForge — Import menus from HTML" box. You can import each menu individually or all at once.
Import & Translation for Multiple Languages
If you use Polylang, each language has its own "layer" of fields on the same page. When you click "Load data" on a translated page, the original content from your design is imported into that language's fields. You can then translate it using the built-in Translation Helper — click the "Translate" button next to any field, or "Translate All" to translate the entire page at once. This works right in the WordPress admin, no external tools needed.
Think of it like Webflow locales: each language is a separate layer on the same page. Import the base content, then translate it in place — each language's fields are independent and don't overwrite each other.
4. Edit Content in Theme Panel
After importing, all your content is editable from the WordPress admin panel. The theme generates custom fields for elements marked with ThemeForge attributes. Note: only elements inside a wp-fields-group section get admin panel fields — elements without wp-fields-group are converted to PHP but have no editable fields.
Where to find your content
- Page-specific fields — edit any page in WordPress, scroll below the editor. Fields are grouped by sections (from wp-fields-group) with tabs
- Site-wide options (phone, email, logo, social links) — Appearance → Theme Settings → Options tab
- Theme configuration (backend switcher, security, extensions) — Appearance → Theme Settings
Secure Custom Fields vs ACF Pro
By default the theme uses Secure Custom Fields — a free WordPress.org plugin that provides every ACF PRO field type with no license. Prefer your own ACF PRO? Install it and the theme uses it automatically. Field data is preserved either way — no content loss.
5. Multilanguage (Optional)
Multilanguage support is optional — your theme works perfectly without it. If you need multiple languages, install Polylang (free) or WPML. The theme auto-detects the plugin and enables language-aware fields.
Setting Up Polylang
- Install and activate the Polylang plugin from WordPress → Plugins → Add New
- Go to Languages → Settings and add your languages (e.g., English, German, French)
- The theme automatically detects Polylang and shows a language switcher in Theme Settings
- Open a translated page in WordPress, click "Load data" in the ThemeForge Import metabox to import base content, then use the "Translate" buttons to translate fields into the target language
Built-in Translation Helper
The theme includes a one-click translation button in the admin panel. Switch to a language in Theme Settings, then click "Translate" next to any field — it uses Google Translate to fill in a draft translation. You can then review and edit it. There's also a "Translate All" button to translate all fields at once.
6. Plugins & Compatibility
ThemeForge generates standard WordPress themes — they work with virtually any WordPress plugin. No special configuration needed, just install and activate.
Tested Integrations
- Yoast SEO / Rank Math — full compatibility, meta fields work as expected
- Cache plugins (WP Super Cache, W3 Total Cache, LiteSpeed Cache) — fully compatible
- Polylang — deep integration: per-locale fields, translation helper, language-aware import
- WPML — supported: auto-detected, language fields work correctly
- WooCommerce — full support: product pages, cart, checkout, filters, variable products
- ACF Pro — native support as alternative backend (switch in Theme Settings)
- Any other WordPress plugin — the theme is a standard WP theme, so any plugin that works with WordPress will work with ThemeForge themes
Built-in Forms
ThemeForge themes include a complete forms system — no need for third-party form plugins. Features: SMTP email delivery, Telegram notifications, reCAPTCHA v3, anti-spam protection, auto-reply, and client-side validation (JustValidate). All form submissions are stored in WordPress (custom post type) with CSV export. Configure in Theme Settings → Extensions tab.
7. Custom Code & Protected Files
Need to add custom PHP functions, CSS, or JavaScript? You have two options:
Code Snippets Plugin (recommended)
Install the Code Snippets plugin — it lets you add custom PHP, CSS, and JS directly from the WordPress admin. Your snippets are stored in the database, so they survive any theme update or reinstallation. This is the safest option.
Theme User Files
The theme includes protected files that are never overwritten during theme updates:
user-functions.php— user-functions.php — custom PHP functionscss/user.css— css/user.css — custom CSS styles (loaded after theme CSS)js/user.js— js/user.js — custom JavaScript
You can also mark any file as protected by using the wp_include attribute in your HTML. These files will be listed in themeforge_protected.json and preserved during updates.
CSS load order: main.css (your design) → themeforge.css (generated overrides) → user.css (your customizations). This means user.css always wins — put your overrides there.
These files are preserved during normal updates. However, if you completely delete and reinstall the theme (instead of updating), the files may be lost. For critical customizations, Code Snippets or a child theme is safer.
8. Backups
Have regular backups and make one before critical changes — mass content import, backend switching, or major theme updates.
Hosting Backups
Most hosting providers offer automatic daily backups. Check your hosting panel (cPanel, Plesk, HestiaCP) for backup/restore options. This is your first line of defense.
Backup Plugins
- UpdraftPlus — scheduled backups to cloud storage (Google Drive, Dropbox, S3)
- Duplicator — full site snapshots, great for migration between servers
- All-in-One WP Migration — simple one-click export/import of the entire site
Tip: set up automatic periodic backups (daily or weekly) and make a manual one before critical operations like mass import or backend switching. If something goes wrong, you can restore in minutes.