Suma Elementor Theme
Location: web/app/themes/suma-elementor/
Version: 2.3.0
Author: Rhino Group
Based on: Hello Elementor (lightweight Elementor-optimized base)
Overviewโ
suma-elementor is the only active theme on Scottsdale Mint. It is built on top of Hello Elementor โ a minimal, performance-focused base theme designed for maximal Elementor compatibility. The theme adds extensive WooCommerce customizations, precious metals pricing logic, REST API endpoints, and integrations with all major third-party services.
All front-end pages are built and managed in Elementor Pro. The theme provides the structural foundation, custom Elementor widgets, dynamic tags, and the PHP business logic that powers those pages.
Architectureโ
The theme is organized as a collection of focused PHP classes under inc/. Each class has a single responsibility and registers its own WordPress hooks. The \Suma\Theme class acts as the entrypoint that loads everything.
suma-elementor/
โโโ functions.php โ Bootstrap: requires inc/class-theme.php, calls Theme::init()
โโโ style.css โ Theme header declaration
โโโ inc/
โ โโโ class-theme.php โ Main entrypoint (loads all classes)
โ โโโ class-woocommerce.php โ 760+ line WC integration hub
โ โโโ [50+ classes]
โโโ dist/ โ Compiled assets (Webpack Mix output)
โ โโโ css/global.css
โ โโโ js/global.js
โโโ src/ โ Source files
โ โโโ scss/ โ SCSS source
โ โโโ js/ โ JavaScript source (ES6)
โโโ template-parts/ โ Reusable PHP template fragments
โโโ woocommerce/ โ WooCommerce template overrides
โโโ cryptowoo/ โ CryptoWoo template overrides
Class Hierarchyโ
Core Theme Classesโ
| Class | Namespace | File | Responsibility |
|---|---|---|---|
Theme | \Suma\Theme | class-theme.php | Entrypoint; loads all classes |
Admin | \Suma\Theme\Admin | class-admin.php | WP admin customizations |
Frontend | \Suma\Theme\Frontend | class-frontend.php | Frontend scripts, head/body injection |
Customizer | \Suma\Theme\Customizer | class-customizer.php | WordPress Customizer options |
Elementor | \Suma\Theme\Elementor | class-elementor.php | Elementor extension registration |
Elementor_Widgets | \Suma\Theme\Elementor_Widgets | class-elementor-widgets.php | Custom widget registration |
WooCommerce | \Suma\WooCommerce | class-woocommerce.php | WC hooks, filters, and integrations |
User | \Suma\Theme\User | class-user.php | User account, roles, meta |
Post | \Suma\Post | class-post.php | Post type utilities |
Settings | \Suma\Theme\Settings | class-settings.php | Theme settings/option keys |
Translations | \Suma\Translations | class-translations.php | i18n utilities |
Klaviyo | \Suma\Klaviyo | class-klaviyo.php | Klaviyo API integration |
Yotpo | \Suma\Yotpo | class-yotpo.php | Yotpo reviews integration |
Pricing | \Suma\Pricing | class-pricing.php | Global pricing manager |
PricingTools | \Suma\PricingTools | class-pricing-tools.php | Pricing calculation utilities |
Trends | \Suma\Trends | class-trends.php | Historical pricing trend data |
Medoo | \Suma\Medoo | class-medoo.php | Medoo database wrapper |
Sub-Directory Classesโ
| Class | Namespace | Sub-Directory |
|---|---|---|
Product\Pricing | \Suma\Product\Pricing | product/ |
Product\MetalPricing | \Suma\Product\MetalPricing | product/ |
Product\PriceUpdater | \Suma\Product\PriceUpdater | product/ |
Product\Frontend | \Suma\Product\Frontend | product/ |
Product\AdminGrid | \Suma\Product\AdminGrid | product/ |
Product\AdminEdit | \Suma\Product\AdminEdit | product/ |
Product\PreserveStock | \Suma\Product\PreserveStock | product/ |
Product\ProductVisibility | \Suma\Product\ProductVisibility | product/ |
Product\Stock | \Suma\Product\Stock | product/ |
Checkout\Frontend | \Suma\Checkout\Frontend | checkout/ |
Checkout\Kount | \Suma\Checkout\Kount | checkout/ |
Integration\Algolia | \Suma\Integration\Algolia | integration/ |
Integration\KountENS | \Suma\Integration\KountENS | integration/ |
Integration\Walmart | \Suma\Integration\Walmart | integration/ |
Integration\Translate_Press | \Suma\Integration\Translate_Press | integration/ |
WordPress Features Registeredโ
The theme registers the following via add_theme_support():
add_theme_support( 'menus' );
add_theme_support( 'post-thumbnails' );
add_theme_support( 'align-wide' );
add_theme_support( 'post-formats', [ 'post', 'video' ] );
add_post_type_support( 'page', 'excerpt' );
Menus Registeredโ
| Menu Location | Description |
|---|---|
primary | Main navigation bar |
secondary | Secondary navigation |
footer | Footer navigation |
Build Systemโ
The theme uses Webpack Mix (Laravel Mix) to compile assets:
# Install dependencies (from theme directory)
cd web/app/themes/suma-elementor
npm install
# Development build (watch mode with source maps)
npm run dev
# Production build (minified)
npm run production
# Build individual widget bundles
./build-widgets.sh # Mac/Linux
build-widgets.bat # Windows
Input: src/scss/*.scss and src/js/*.js
Output: dist/css/global.css and dist/js/global.js
Tailwind CSS is configured in tailwind.config.js but may be partially active โ check src/scss/ for @tailwind directives.
Custom jQueryโ
The theme loads a custom jQuery 3.4.1 from CDN instead of the WordPress-bundled jQuery. This is handled in class-theme.php:
// Dequeue WordPress bundled jQuery, enqueue CDN version
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', 'https://code.jquery.com/jquery-3.4.1.min.js', [], '3.4.1', false );
wp_enqueue_script( 'jquery' );
Template Hierarchyโ
- Elementor page templates โ All custom-designed pages use Elementor templates
template-parts/โ Reusable PHP template fragments (header, footer, archive, single, 404)woocommerce/โ WooCommerce template overrides (single product, cart, checkout, account)cryptowoo/โ CryptoWoo payment template overridesindex.phpโ Fallback template for unmatched content
Database Options Used by Themeโ
| Option Key | Description |
|---|---|
suma_theme_settings | Core theme configuration |
suma_product_pricing | Metal pricing data (spot prices, premiums) |
suma_pricing_cache | Cached spot price data (Redis transient) |
suma_mobile_app_tokens | Mobile app authentication tokens |
Customizer Optionsโ
Appearance โ Customize
The Customizer class registers:
- Site logo and header color options
- WooCommerce display options (product grid columns, etc.)
- Pricing algorithm display settings
- Social media link fields