π Elemental Starter Theme Documentation
Complete guide to customization, packaging, and white labeling
π Table of Contents
π 1. Quick Start Guide
Installation
- Upload the theme folder to
/wp-content/themes/ - Activate the theme in WordPress Admin > Appearance > Themes
- Install required plugins (Elementor, Kirki)
- Install recommended plugin (Elemental Widgets Suite)
- Go to Appearance > Customize to configure theme settings
Required Plugins
- Elementor: For page building
- Kirki: Powers the customizer options
Recommended Plugins
- Elemental Widgets Suite: 24 premium Elementor widgets
- WooCommerce: If building an e-commerce site
π¨ 2. Customizer Options
Typography Panel
- Body Font: Choose from 1800+ Google Fonts for body text
- Heading Font: Separate font for all headings (h1-h6)
- Font Sizes: Adjust body and heading sizes
- Font Weights: Control heading weight (300-900)
- Line Heights: Fine-tune text spacing
WooCommerce Panel (30+ Options)
- Shop layout (products per page, columns)
- Product card styling (animations, hover effects, shadows)
- Product colors (price, sale, ratings)
- Sale badge customization (text, colors, gradients)
- Single product page options
- Cart & checkout styling
- Product ratings appearance
β¬οΈ 3. One-Click Demo Import Setup
One-click demo import is essential for ThemeForest and commercial themes. It lets buyers instantly import your demo content!
Step 1: Install Required Plugin
Install the “One Click Demo Import” plugin by ProteusThemes
wp plugin install one-click-demo-import --activate
Step 2: Create Demo Content Files
Export your demo content from WordPress:
- content.xml: Tools > Export > All Content
- customizer.dat: Customizer Export/Import plugin
- widgets.wie: Widget Importer & Exporter plugin
Step 3: Add Demo Import Code
Create a file: inc/demo-import.php
<?php
function elemental_import_files() {
return array(
array(
'import_file_name' => 'Elemental Demo',
'import_file_url' => 'http://your-site.com/demos/content.xml',
'import_widget_file_url' => 'http://your-site.com/demos/widgets.wie',
'import_customizer_file_url' => 'http://your-site.com/demos/customizer.dat',
'import_preview_image_url' => 'http://your-site.com/demos/screenshot.png',
'preview_url' => 'http://demo.your-site.com',
),
);
}
add_filter( 'pt-ocdi/import_files', 'elemental_import_files' );
function elemental_after_import_setup() {
// Assign menus
$main_menu = get_term_by( 'name', 'Main Menu', 'nav_menu' );
set_theme_mod( 'nav_menu_locations', array(
'primary' => $main_menu->term_id,
) );
// Assign front page
$front_page = get_page_by_title( 'Home' );
update_option( 'show_on_front', 'page' );
update_option( 'page_on_front', $front_page->ID );
// Assign blog page
$blog_page = get_page_by_title( 'Blog' );
update_option( 'page_for_posts', $blog_page->ID );
}
add_action( 'pt-ocdi/after_import', 'elemental_after_import_setup' );
Step 4: Include in functions.php
require_once get_template_directory() . '/inc/demo-import.php';
Step 5: Test Import
- Go to Appearance > Import Demo Data
- Click “Import Demo Data” button
- Wait for completion (1-5 minutes)
- Verify all content imported correctly
Host demo files on your own server or GitHub for reliability!
π¦ 4. Packaging for ThemeForest
Turn Elemental Starter into a commercial ThemeForest theme!
Required Files & Structure
your-theme-package/ βββ your-theme/ (Main theme folder) βββ documentation/ (HTML or PDF docs) βββ demo-content/ (XML, WIE, DAT files) βββ plugins/ (Bundled plugins) β βββ elemental-widgets.zip β βββ kirki.zip β βββ elementor.zip (link only, can't bundle) βββ screenshot.png (1200x900px) βββ item-description.txt βββ README.txt
Step-by-Step Preparation
1. Rebrand the Theme
- Update style.css theme header
- Find & replace “elemental-starter” with “your-theme-slug”
- Update theme name in all files
- Create new screenshot.png (1200x900px)
2. Add TGM Plugin Activation
Include TGM Plugin Activation class to recommend plugins:
require_once get_template_directory() . '/inc/class-tgm-plugin-activation.php';
function elemental_register_required_plugins() {
$plugins = array(
array(
'name' => 'Elementor',
'slug' => 'elementor',
'required' => true,
),
array(
'name' => 'Elemental Widgets Suite',
'slug' => 'elemental-widgets',
'source' => get_template_directory() . '/plugins/elemental-widgets.zip',
'required' => false,
),
);
tgmpa( $plugins );
}
add_action( 'tgmpa_register', 'elemental_register_required_plugins' );
3. Create Documentation
- Installation guide
- Customizer options explained
- How to import demo content
- Widget usage guide
- FAQ section
- Changelog
4. Prepare Demo Content
- Create demo pages with Elementor
- Add sample posts, team members, testimonials
- Set up menus
- Configure customizer settings
- Export all content (XML, WIE, DAT)
5. Package Everything
- ZIP your theme folder
- Include documentation (HTML/PDF)
- Add demo content files
- Bundle compatible plugins
- Create item description
- Add licensing information
- Basic Theme: $49-$59
- With Widgets Suite: $69-$79
- Premium Package: $89-$99
π·οΈ 5. White Labeling Guide
You MUST preserve GPL licensing and give credit to original authors. You can rebrand, but must remain open source!
What You CAN Change
- β Theme name and description
- β Theme slug and text domain
- β Author name (add yourself as author)
- β Author URI (your website)
- β Screenshot and branding
- β Add your own features
- β Modify any code
- β Sell commercially
What You MUST Keep
- β οΈ GPL license declaration
- β οΈ GPL license URI
- β οΈ Original author credit (in readme/comments)
- β οΈ Open source requirement
Step-by-Step Process
1. Update style.css Header
/* Theme Name: Your Amazing Theme Theme URI: https://your-site.com/themes/amazing-theme Description: Premium WordPress theme built on Elemental Starter framework Author: Your Name, Based on Elemental Starter by CursorWP Author URI: https://your-site.com License: GNU General Public License v3 or later License URI: https://www.gnu.org/licenses/gpl-3.0.html Text Domain: your-theme-slug */
2. Find & Replace Text Domain
elemental-starterβyour-theme-slugelemental_starterβyour_theme_prefixElemental_StarterβYour_Theme_Name
3. Add Attribution (GPL Requirement)
In your README.md or documentation, add:
## Credits This theme is based on Elemental Starter by CursorWP. Original: https://github.com/cursorwp/elemental-starter License: GPL v3 or later We thank the original authors for their excellent work!
Elemental Starter already meets ALL ThemeForest code requirements!
β 6. Frequently Asked Questions
Can I use this theme for client projects?
Yes! Use it on unlimited client sites. The GPL license allows commercial use.
Can I sell this theme?
Yes! You can sell it on ThemeForest or your own site. Just maintain GPL licensing and give attribution.
Do I need Elementor Pro?
No! The theme works perfectly with free Elementor. However, Elemental Widgets Suite adds 24 premium widgets!
Can I remove the CursorWP credit?
From the frontend: Yes! From the code/documentation: Please keep attribution in comments or README as GPL best practice.
How do I add more customizer options?
Edit inc/customizer/sections.php to add new Kirki panels, sections, and fields. Follow the existing pattern!
Can I use this with Gutenberg?
Yes! The theme is builder-agnostic. It works with Elementor, Gutenberg, or any page builder.
π Ready to Build?
Start customizing your Elemental Starter theme today!
β Back to Home View Theme Featuresπ Support Elemental Starter
Elemental Starter is Donationware and is Free as in Free Beer for the Global WordPress Community!
Please consider donating to support the Vibe Coding efforts of CursorWP!
Every donation helps us create more awesome free themes and plugins! π