Plugin Settings
Comprehensive configuration options control all aspects of the image monetization system.
Core Settings
Plugin Status
smi_enabled(default: ‘1’) – Master enable/disable toggle- Global plugin functionality control
- Emergency disable capability
- Maintenance mode support
Display Control
smi_display_mode(default: ‘all’) – Button display mode- Options: ‘all’, ‘exclude’, ‘include’
- Granular content targeting
- Performance optimization
Payment Configuration
Stripe Integration
smi_stripe_test_mode(default: ‘1’) – Environment selectionsmi_stripe_test_publishable_key– Frontend test keysmi_stripe_test_secret_key– Backend test keysmi_stripe_live_publishable_key– Production frontend keysmi_stripe_live_secret_key– Production backend keysmi_stripe_webhook_secret– Webhook signature validation
Environment Management
Automatic key selection based on test mode:
$test_mode = get_option('smi_stripe_test_mode', '1');
$secret_key = $test_mode ?
get_option('smi_stripe_test_secret_key') :
get_option('smi_stripe_live_secret_key');
Service Integration
Upsampler API
smi_upsampler_api_key– AI upscaling service authentication- Required for image processing functionality
- Secure storage in WordPress options
- Health check validation
Cost Management
smi_markup_percentage(default: ‘200’) – Profit margin control- Pricing calculation multiplier
- Revenue optimization setting
- Dynamic pricing support
Download Settings
Security Configuration
smi_download_expiry_hours(default: ’24’) – Token lifetime- Balances security with user convenience
- Configurable per business needs
- Automatic cleanup trigger
Cleanup Configuration
smi_failed_job_cleanup_days(default: ‘7’) – Failed job retention periodsmi_abandoned_job_cleanup_hours(default: ’24’) – Abandoned job retention period- Daily automated cleanup removes expired resources
- Configurable retention policies for maintenance
File Management
- Download chunk size: 8192 bytes (constant)
- Secure token length: 64 characters (constant)
- Cleanup schedule configuration
- Storage path customization
Display Filtering
Content Targeting
smi_display_mode– Display mode (‘all’, ‘exclude’, ‘include’)smi_filter_post_types– Post type filtering arraysmi_filter_categories– Category filtering arraysmi_filter_tags– Tag filtering arraysmi_filter_post_ids– Specific post IDs (comma-separated)
Email Configuration
Notification Settings
smi_terms_conditions_url– Legal compliance linksmi_contact_url(default: home_url(‘/contact’)) – Support link- Email template customization
- Branding configuration
Constants
System Constants
Defined in Constants.php:
UPSAMPLER_COST_PER_CREDIT(0.04) – Base processing costDEFAULT_MARKUP_PERCENTAGE(200) – Default profit marginSTRIPE_MINIMUM_PAYMENT(0.50) – Payment processor minimumDOWNLOAD_TOKEN_LENGTH(64) – Security token size
Resolution Configuration
VALID_RESOLUTIONS– [‘4x’, ‘8x’] supported upscalingRESOLUTION_MULTIPLIERS– Scaling factors- Extensible for additional resolutions
Default Values
Initial Configuration
All settings have sensible defaults:
const DEFAULT_OPTIONS = [
'smi_enabled' => '1',
'smi_stripe_test_mode' => '1',
'smi_download_expiry_hours' => '24',
'smi_markup_percentage' => '200',
'smi_terms_conditions_url' => '',
// Additional options...
];
Health Validation
Configuration Checking
Daily health checks validate:
- API key presence and validity
- Stripe configuration completeness
- WordPress environment compatibility
- Database table integrity
- SSL requirement for live payments