Plugins Overview
The TenPoint Crossbows site uses a combination of custom Rhino Group plugins and third-party WordPress/WooCommerce plugins to deliver specialized e-commerce functionality.
Plugin Categories
Custom Suma Plugins (Rhino Group)
Purpose-built plugins for crossbow-specific features and WooCommerce enhancements.
- suma-blocks — Custom Elementor widget library
- suma-cross-sells — Product cross-sell opportunities
- suma-dealer-locator — Find authorized dealers by location
- suma-downloads — Downloadable manuals and guides
- suma-faqs — Frequently asked questions system
- suma-videos — Video library with categories
- suma-woo-emails — Custom WooCommerce email templates and order statuses
Critical Integration Plugins
ERP and data synchronization plugins.
- tenpoint-epicor-integration — Bidirectional Epicor Kinetic ERP sync (v3.0.4)
- tenpoint-integrator — Bazaar Voice XML feed generation and SFTP upload
Payment Gateway Plugins
Payment processing integrations.
- woocommerce-ebizcharge-gateway — Credit card and ACH processing (v9.7.1)
- paytomorrow — Point-of-sale financing (v3.0.6)
- woocommerce-paypal-payments — PayPal Commerce Platform
Security & Fraud Prevention
Order validation and fraud detection.
- signifyd-for-woocommerce — Real-time fraud detection (v1.1.0)
- fraudlabs-pro-for-woocommerce — Secondary fraud screening
- wordfence — Firewall and malware scanning
- wp-security-audit-log — Security event logging
- recaptcha-for-woocommerce — Checkout spam protection
Marketing & Customer Engagement
Email marketing, reviews, and customer data.
- klaviyo — Email marketing and customer sync (v3.4.3)
- back-in-stock-notifications-for-klaviyo — Restock email alerts
- gravityforms-klaviyo — Gravity Forms → Klaviyo integration
Search & Filtering
Advanced product search and filtering.
- facetwp — Faceted navigation (Pro)
- facetwp-cache — Performance caching
- facetwp-conditional-logic — Show/hide facets
- facetwp-elementor — Elementor integration
- facetwp-flyout — Flyout facet display
- facetwp-range-list — Range sliders
- wp-search-with-algolia — Algolia-powered search
WooCommerce Extensions
Enhanced e-commerce functionality.
- woocommerce-smart-coupons — Advanced coupon system
- checkout-for-woocommerce — Custom checkout experience
- woo-variation-swatches + woo-variation-swatches-pro — Color/image variation selection
- woocommerce-avatax — Avalara tax calculation
Forms & Custom Fields
Form building and custom field management.
- Advanced Custom Fields Pro — Custom field management
- Gravity Forms — Form building (premium)
- gravityformschainedselects — Dependent select fields
- gravityformssignature — Digital signature capture
- gravity-forms-wcag-20-form-fields — Accessibility improvements
Admin & Management Tools
Content management and bulk editing.
- user-role-editor-pro — Role and capability management
- duplicate-post — Clone posts/pages
- pw-bulk-edit, smart-manager-for-wp-e-commerce — Bulk editing
- wp-all-import-pro, wp-all-export-pro — Data import/export
- regenerate-thumbnails-advanced — Image regeneration
- transients-manager — Cache management
- wp-crontrol — Cron job management
- mainwp-child — Multisite management
Performance & Optimization
Caching and performance enhancements.
- wp-rocket — Caching and performance (currently disabled)
- wp-mail-smtp — Email delivery optimization
Installation Location
All plugins are located in:
Z:\Herd\tenpointcrossbows\wp-content\plugins\
Custom Plugin Standards
All Rhino Group custom plugins follow these conventions:
Naming Convention
- Prefix:
suma-for Rhino Group plugins - Format:
suma-{feature-name} - Examples:
suma-blocks,suma-dealer-locator
Version Management
- Semantic versioning (MAJOR.MINOR.PATCH)
- Version defined in plugin header
- Version constant in main plugin file
File Structure
suma-plugin-name/
├── plugin-name.php # Entry point, plugin header
├── inc/ # Core functionality
│ ├── class-plugin.php # Main plugin class
│ ├── class-*.php # Feature classes
│ └── ...
├── admin/ # Admin functionality (if applicable)
│ └── class-admin.php
├── frontend/ # Frontend functionality (if applicable)
│ └── class-frontend.php
├── assets/ # CSS, JS, images
│ ├── css/
│ ├── js/
│ └── images/
├── templates/ # Template files (if applicable)
├── languages/ # i18n files
├── README.md # Documentation
└── composer.json # PHP dependencies (if applicable)
Namespace Convention
namespace Suma\PluginName;
Hook Naming
// Action prefix
do_action('suma_plugin_name_action_name', $args);
// Filter prefix
apply_filters('suma_plugin_name_filter_name', $value, $args);
Activation/Deactivation
- Flush rewrite rules on activation
- Clean up transients on deactivation
- Never delete user data on deactivation (only on uninstall)
Security Best Practices
- Nonce verification on all forms
- Capability checks on admin pages
- Input sanitization
- Output escaping
- Prepared statements for database queries
Plugin Dependencies
Required WordPress Version
- Minimum: 5.0
- Tested up to: Latest
Required PHP Version
- Minimum: 7.2.5
- Required extensions: allow_url_fopen, cURL with OpenSSL+zlib
Plugin Dependencies
Some plugins require other plugins to be active:
| Plugin | Requires |
|---|---|
| suma-blocks | Elementor ≥ 2.0.0 |
| suma-cross-sells | WooCommerce, Elementor Pro |
| suma-dealer-locator | Carbon Fields (bundled) |
| tenpoint-epicor-integration | WooCommerce 4.0+, Guzzle 7.x (Composer) |
| facetwp-elementor | FacetWP, Elementor |
| klaviyo | WooCommerce |
| woocommerce-ebizcharge-gateway | WooCommerce |
| paytomorrow | WooCommerce |
| signifyd-for-woocommerce | WooCommerce |
Update Management
Automatic Updates
- WordPress.org plugins: Automatic updates via WordPress core
- Premium plugins: License-based update checking
- Custom Suma plugins: GitLab-based update checker (if configured)
Manual Updates
- Test on staging environment first
- Backup database before updating
- Check changelog for breaking changes
- Test critical functionality after update
Plugin-Specific Documentation
- suma-blocks — Elementor custom blocks
- suma-dealer-locator — Dealer locator system
- Epicor Integration — ERP integration (detailed docs)
Troubleshooting
Common Issues
Plugin conflicts:
- Deactivate plugins one by one to identify conflicts
- Check for JavaScript console errors
- Review PHP error logs
Performance issues:
- Check query monitor for slow queries
- Review transient cache usage
- Check for unnecessary autoloaded options
Update failures:
- Check file permissions
- Verify PHP memory limit (256MB recommended)
- Check for fatal errors in debug.log
Debug Mode
Enable WordPress debug mode in wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Logs written to: wp-content/debug.log