Suma Elementor Theme
The Suma Elementor theme is the core of the Dealers Site. It is a custom theme built on top of Hello Elementor (a minimal Elementor-compatible base theme). Almost all dealer-specific business logic is implemented as PHP class modules within this theme.
Theme Details
| Property | Value |
|---|---|
| Theme Name | Suma Elementor |
| Author | Rhino Group |
| Version | 2.2.1 |
| Base Theme | Hello Elementor |
| PHP Requirement | 5.4+ (runs on 8.1+) |
| Namespace | Suma / Suma\Theme / Suma\Theme\WooCommerce etc. |
Entry Point
functions.php instantiates and initialises the theme:
( new Suma\Theme() )->init();
Theme::init() in inc/class-theme.php:
- Loads utility functions from
inc/utils.php - Calls
queue_hooks()— registers all WordPress hooks - Calls
load_dependencies()— instantiates all module classes
Module System
Each feature area is encapsulated in its own class that extends ModuleBase. ModuleBase provides add_action() and add_filter() helper wrappers. Modules are registered in Theme::load_dependencies().
Core Modules
| Class | File | Description |
|---|---|---|
Theme\Customizer | class-customizer.php | WordPress Customizer options |
Theme\Layout | class-layout.php | Body classes, page layout helpers |
Theme\Admin | class-admin.php | Admin panel customisations |
Theme\Elementor | class-elementor.php | Elementor integration & location registration |
Theme\ElementorWidgets | class-elementor-widgets.php | Custom widget registration |
Theme\FacetWP | class-facetwp.php | FacetWP filtering integration |
Theme\Algolia | class-algolia.php | Algolia custom integration |
Theme\AlgoliaCustomSearch | class-algolia-custom-search.php | Custom Algolia index for non-product posts |
Theme\MetalPricing | class-metal-pricing.php | Spot price retrieval and markup calculation |
Theme\DealerLocator | class-dealer-locator.php | Dealer locator taxonomy label overrides |
Theme\GravityForms | class-gravity-forms.php | Gravity Forms customisations |
Theme\KlaviyoCreateProfile | class-klaviyo-create-profile.php | Klaviyo profile creation on registration |
Theme\Login | class-login.php | Login page customisations and redirects |
Theme\ProductSync | class-product-sync.php | Product data sync helpers |
Theme\Settings | class-settings.php | Site-wide settings |
Theme\Sandbox | class-sandbox.php | Development/debug sandbox utilities |
Theme\WebhookRoutes | class-webhook-routes.php | Custom webhook route registration |
WooCommerce Modules
All WooCommerce-specific logic is in Suma\Theme\WooCommerce\*:
| Class | File | Description |
|---|---|---|
WooCommerce | class-woocommerce.php | Core WC integration and setup |
WooCommerce\Address | class-woocommerce-address.php | Address customisations |
WooCommerce\Attributes | class-woocommerce-attributes.php | Product attribute management |
WooCommerce\Cart | class-woocommerce-cart.php | Cart logic and customisations |
WooCommerce\Coupons | class-woocommerce-coupons.php | Coupon system extensions |
WooCommerce\Email | class-woocommerce-email.php | Transactional email customisations |
WooCommerce\Invoice | class-woocommerce-invoice.php | PDF invoice customisations |
WooCommerce\Order | class-woocommerce-order.php | Custom order statuses and management |
WooCommerce\OrderEdit | class-woocommerce-order-edit.php | Admin order edit enhancements |
WooCommerce\OrderList | class-woocommerce-order-list.php | Admin orders list enhancements |
WooCommerce\OrderView | class-woocommerce-order-view.php | Frontend order view customisations |
WooCommerce\Prefs | class-woocommerce-prefs.php | Per-user WooCommerce preferences |
WooCommerce\Product | class-woocommerce-product.php | Product display and pricing logic |
WooCommerce\RestAPI | class-woocommerce-rest-api.php | WooCommerce REST API extensions |
WooCommerce\ShipStation | class-woocommerce-shipstation.php | ShipStation integration |
WooCommerce\Tariff | class-woocommerce-tariff.php | HS code / tariff data for international orders |
WooCommerce\User | class-woocommerce-user.php | User management, company taxonomy, capabilities |
WooCommerce\UserStats | class-woocommerce-user-stats.php | Per-user purchase statistics |
WooCommerce\Webhook | class-woocommerce-webhook.php | WooCommerce outbound webhook registration |
WooCommerce\Yith | class-yith.php | YITH plugin integrations |