'plugin', 'utm_medium' => $source, 'utm_campaign' => 'upgrade' ), $url); return apply_filters('bluteem_aba_upgrade_url', $url, $source); } /** * Get premium features list * * @return array */ public static function get_premium_features() { return array( 'ai_providers' => array( 'title' => __('Multiple AI Providers', 'ai-blog-automator'), 'description' => __('Choose OpenAI GPT-4, Claude, or custom AI endpoints', 'ai-blog-automator'), 'icon' => 'dashicons-cloud' ), 'custom_lengths' => array( 'title' => __('Custom Post Lengths', 'ai-blog-automator'), 'description' => __('Set any word count from 300 to 5000 words with slider', 'ai-blog-automator'), 'icon' => 'dashicons-edit' ), 'custom_schedules' => array( 'title' => __('Custom Schedules', 'ai-blog-automator'), 'description' => __('Post every 2, 3, 6 hours or custom intervals', 'ai-blog-automator'), 'icon' => 'dashicons-clock' ), 'multiple_categories' => array( 'title' => __('Multiple Categories & Tags', 'ai-blog-automator'), 'description' => __('Auto-assign multiple relevant categories and generate tags', 'ai-blog-automator'), 'icon' => 'dashicons-category' ), 'template_library' => array( 'title' => __('12+ Prompt Templates', 'ai-blog-automator'), 'description' => __('How-To, Listicle, Case Study, and more formats', 'ai-blog-automator'), 'icon' => 'dashicons-media-document' ), 'custom_prompt' => array( 'title' => __('Custom Prompt Template Editor', 'ai-blog-automator'), 'description' => __('Fully customize AI prompts to match your content style and requirements', 'ai-blog-automator'), 'icon' => 'dashicons-edit' ), 'seo_optimization' => array( 'title' => __('SEO Optimization', 'ai-blog-automator'), 'description' => __('Auto-generate meta descriptions for Yoast, Rank Math, AIOSEO', 'ai-blog-automator'), 'icon' => 'dashicons-search' ), 'bulk_generation' => array( 'title' => __('Bulk Post Generation', 'ai-blog-automator'), 'description' => __('Generate multiple posts at once from keyword list', 'ai-blog-automator'), 'icon' => 'dashicons-admin-page' ) ); } /** * Display upgrade notice * * @param string $feature Feature name * @param string $context Context (settings, modal, inline) */ public static function upgrade_notice($feature = '', $context = 'inline') { if (self::is_active()) { return; } $features = self::get_premium_features(); $feature_info = isset($features[$feature]) ? $features[$feature] : null; switch ($context) { case 'modal': self::render_upgrade_modal($feature_info); break; case 'banner': self::render_upgrade_banner(); break; default: self::render_upgrade_inline($feature_info); break; } } /** * Render inline upgrade notice * * @param array|null $feature_info Feature information */ private static function render_upgrade_inline($feature_info) { ?>
-

$feature): ?>

$49 Lifetime
$199 Lifetime

• •