| 1 |
<?php |
| 2 |
/** |
| 3 |
* Extensions list for Dashboard V3. |
| 4 |
* |
| 5 |
* @package King_Addons |
| 6 |
*/ |
| 7 |
|
| 8 |
if (!defined('ABSPATH')) { |
| 9 |
exit; |
| 10 |
} |
| 11 |
|
| 12 |
/** |
| 13 |
* Get the list of available extensions. |
| 14 |
* |
| 15 |
* @return array |
| 16 |
*/ |
| 17 |
function king_addons_get_extensions_list(): array { |
| 18 |
$extensions = [ |
| 19 |
'templates-catalog' => [ |
| 20 |
'title' => esc_html__('Templates Catalog', 'king-addons'), |
| 21 |
'description' => esc_html__('Access to 4,000+ pre-designed Elementor templates and sections that can be imported with one click.', 'king-addons'), |
| 22 |
'icon' => 'dashicons-layout', |
| 23 |
'constant' => 'KING_ADDONS_EXT_TEMPLATES_CATALOG', |
| 24 |
'link' => admin_url('admin.php?page=king-addons-templates'), |
| 25 |
], |
| 26 |
'header-footer-builder' => [ |
| 27 |
'title' => esc_html__('Header & Footer Builder', 'king-addons'), |
| 28 |
'description' => esc_html__('Create custom headers and footers with Elementor and display them anywhere on your site.', 'king-addons'), |
| 29 |
'icon' => 'dashicons-welcome-widgets-menus', |
| 30 |
'constant' => 'KING_ADDONS_EXT_HEADER_FOOTER_BUILDER', |
| 31 |
'link' => admin_url('edit.php?post_type=king-addons-el-hf'), |
| 32 |
], |
| 33 |
'popup-builder' => [ |
| 34 |
'title' => esc_html__('Popup Builder', 'king-addons'), |
| 35 |
'description' => esc_html__('Design and display beautiful popups with triggers, animations, and display conditions.', 'king-addons'), |
| 36 |
'icon' => 'dashicons-external', |
| 37 |
'constant' => 'KING_ADDONS_EXT_POPUP_BUILDER', |
| 38 |
'link' => admin_url('admin.php?page=king-addons-popup-builder'), |
| 39 |
], |
| 40 |
'woo-builder' => [ |
| 41 |
'title' => esc_html__('WooCommerce Builder', 'king-addons'), |
| 42 |
'description' => esc_html__('Customize WooCommerce product pages, shop pages, cart, and checkout with Elementor.', 'king-addons'), |
| 43 |
'icon' => 'dashicons-cart', |
| 44 |
'constant' => 'KING_ADDONS_EXT_WOO_BUILDER', |
| 45 |
'link' => admin_url('admin.php?page=king-addons-woo-builder'), |
| 46 |
'requires' => [ |
| 47 |
'woocommerce' => [ |
| 48 |
'name' => esc_html__('WooCommerce', 'king-addons'), |
| 49 |
'install_url' => admin_url('plugin-install.php?s=woocommerce&tab=search&type=term'), |
| 50 |
'message' => esc_html__('Requires WooCommerce to be installed and activated.', 'king-addons'), |
| 51 |
], |
| 52 |
], |
| 53 |
], |
| 54 |
'cookie-consent' => [ |
| 55 |
'title' => esc_html__('Cookie / Consent Bar', 'king-addons'), |
| 56 |
'description' => esc_html__('GDPR-compliant cookie consent bar with customizable appearance and behavior.', 'king-addons'), |
| 57 |
'icon' => 'dashicons-shield', |
| 58 |
'constant' => 'KING_ADDONS_EXT_COOKIE_CONSENT', |
| 59 |
'link' => admin_url('admin.php?page=king-addons-cookie-consent'), |
| 60 |
], |
| 61 |
'age-gate' => [ |
| 62 |
'title' => esc_html__('Age Gate', 'king-addons'), |
| 63 |
'description' => esc_html__('Age verification popup for restricted content with customizable design.', 'king-addons'), |
| 64 |
'icon' => 'dashicons-id-alt', |
| 65 |
'constant' => 'KING_ADDONS_EXT_AGE_GATE', |
| 66 |
'link' => admin_url('admin.php?page=king-addons-age-gate'), |
| 67 |
], |
| 68 |
'live-chat' => [ |
| 69 |
'title' => esc_html__('Live Chat', 'king-addons'), |
| 70 |
'description' => esc_html__('Real-time chat support widget with admin inbox for customer conversations and email notifications.', 'king-addons'), |
| 71 |
'icon' => 'dashicons-format-chat', |
| 72 |
'constant' => 'KING_ADDONS_EXT_LIVE_CHAT', |
| 73 |
'link' => admin_url('admin.php?page=king-addons-live-chat'), |
| 74 |
], |
| 75 |
'sticky-contact-bar' => [ |
| 76 |
'title' => esc_html__('Sticky Contact Bar', 'king-addons'), |
| 77 |
'description' => esc_html__('Displays a fixed contact bar with messaging, call, and custom action buttons on the edge of the screen.', 'king-addons'), |
| 78 |
'icon' => 'dashicons-phone', |
| 79 |
'constant' => 'KING_ADDONS_EXT_STICKY_CONTACT_BAR', |
| 80 |
'link' => admin_url('admin.php?page=king-addons-sticky-contact-bar'), |
| 81 |
], |
| 82 |
'custom-cursor' => [ |
| 83 |
'title' => esc_html__('Custom Cursor', 'king-addons'), |
| 84 |
'description' => esc_html__('Replace the default cursor with presets, hover states, Elementor-aware interactions, and Pro-only magnetic and image options.', 'king-addons'), |
| 85 |
'icon' => 'dashicons-move', |
| 86 |
'constant' => 'KING_ADDONS_EXT_CUSTOM_CURSOR', |
| 87 |
'link' => admin_url('admin.php?page=king-addons-custom-cursor'), |
| 88 |
], |
| 89 |
'theme-builder' => [ |
| 90 |
'title' => esc_html__('Theme Builder', 'king-addons'), |
| 91 |
'description' => esc_html__('Create custom Elementor templates for single posts, pages, custom post types, archives, search and 404 pages with flexible display conditions.', 'king-addons'), |
| 92 |
'icon' => 'dashicons-admin-appearance', |
| 93 |
'constant' => 'KING_ADDONS_EXT_THEME_BUILDER', |
| 94 |
'link' => admin_url('admin.php?page=king-addons-theme-builder'), |
| 95 |
], |
| 96 |
'wishlist' => [ |
| 97 |
'title' => esc_html__('Wishlist', 'king-addons'), |
| 98 |
'description' => esc_html__('Complete wishlist system for WooCommerce with buttons, counters, pages, and advanced features for managing customer wishlists.', 'king-addons'), |
| 99 |
'icon' => 'dashicons-heart', |
| 100 |
'constant' => 'KING_ADDONS_EXT_WISHLIST', |
| 101 |
'link' => admin_url('admin.php?page=king-addons-wishlist'), |
| 102 |
], |
| 103 |
'smart-links' => [ |
| 104 |
'title' => esc_html__('Smart Links', 'king-addons'), |
| 105 |
'description' => esc_html__('Create short links with click tracking, UTM builder, tags, and Premium style inspired analytics.', 'king-addons'), |
| 106 |
'icon' => 'dashicons-admin-links', |
| 107 |
'constant' => 'KING_ADDONS_EXT_SMART_LINKS', |
| 108 |
'link' => admin_url('admin.php?page=king-addons-smart-links'), |
| 109 |
], |
| 110 |
'activity-log' => [ |
| 111 |
'title' => esc_html__('Activity Log', 'king-addons'), |
| 112 |
'description' => esc_html__('Track admin activity, content changes, and security events with clear audit trails.', 'king-addons'), |
| 113 |
'icon' => 'dashicons-shield-alt', |
| 114 |
'constant' => 'KING_ADDONS_EXT_ACTIVITY_LOG', |
| 115 |
'link' => admin_url('admin.php?page=king-addons-activity-log'), |
| 116 |
], |
| 117 |
'maintenance-mode' => [ |
| 118 |
'title' => esc_html__('Maintenance Mode', 'king-addons'), |
| 119 |
'description' => esc_html__('Launch coming soon or maintenance pages with scheduling and access rules.', 'king-addons'), |
| 120 |
'icon' => 'dashicons-hammer', |
| 121 |
'constant' => 'KING_ADDONS_EXT_MAINTENANCE_MODE', |
| 122 |
'link' => admin_url('admin.php?page=king-addons-maintenance-mode'), |
| 123 |
], |
| 124 |
'table-builder' => [ |
| 125 |
'title' => esc_html__('Table Builder', 'king-addons'), |
| 126 |
'description' => esc_html__('Build interactive tables with sorting, search, pagination, and Premium style inspired presets.', 'king-addons'), |
| 127 |
'icon' => 'dashicons-grid-view', |
| 128 |
'constant' => 'KING_ADDONS_EXT_TABLE_BUILDER', |
| 129 |
'link' => admin_url('admin.php?page=king-addons-table-builder'), |
| 130 |
], |
| 131 |
'docs-kb' => [ |
| 132 |
'title' => esc_html__('Docs & Knowledge Base', 'king-addons'), |
| 133 |
'description' => esc_html__('Create beautiful documentation with categories, search, table of contents, and Premium style inspired layouts.', 'king-addons'), |
| 134 |
'icon' => 'dashicons-book-alt', |
| 135 |
'constant' => 'KING_ADDONS_EXT_DOCS_KB', |
| 136 |
'link' => admin_url('admin.php?page=king-addons-docs-kb'), |
| 137 |
], |
| 138 |
'pricing-table-builder' => [ |
| 139 |
'title' => esc_html__('Pricing Table Builder', 'king-addons'), |
| 140 |
'description' => esc_html__('Create stunning pricing tables with billing toggle, multiple presets, and Premium style inspired design.', 'king-addons'), |
| 141 |
'icon' => 'dashicons-editor-table', |
| 142 |
'constant' => 'KING_ADDONS_EXT_PRICING_TABLE_BUILDER', |
| 143 |
'link' => admin_url('admin.php?page=king-addons-pricing-tables'), |
| 144 |
], |
| 145 |
'custom-code-manager' => [ |
| 146 |
'title' => esc_html__('Custom Code Manager', 'king-addons'), |
| 147 |
'description' => esc_html__('Add custom CSS, JavaScript, and HTML snippets with advanced targeting rules, locations, and code highlighting.', 'king-addons'), |
| 148 |
'icon' => 'dashicons-editor-code', |
| 149 |
'constant' => 'KING_ADDONS_EXT_CUSTOM_CODE_MANAGER', |
| 150 |
'link' => admin_url('admin.php?page=king-addons-custom-code'), |
| 151 |
], |
| 152 |
'fomo-notifications' => [ |
| 153 |
'title' => esc_html__('Fomo Notifications', 'king-addons'), |
| 154 |
'description' => esc_html__('Social proof notifications with WooCommerce sales, reviews, comments, and custom data sources. Boost conversions with real-time FOMO.', 'king-addons'), |
| 155 |
'icon' => 'dashicons-megaphone', |
| 156 |
'constant' => 'KING_ADDONS_EXT_FOMO_NOTIFICATIONS', |
| 157 |
'link' => admin_url('admin.php?page=king-addons-fomo'), |
| 158 |
], |
| 159 |
'site-preloader' => [ |
| 160 |
'title' => esc_html__('Site Preloader Animation', 'king-addons'), |
| 161 |
'description' => esc_html__('Beautiful page loading animations with 12+ presets, custom colors, display rules, and Premium style inspired design.', 'king-addons'), |
| 162 |
'icon' => 'dashicons-update', |
| 163 |
'constant' => 'KING_ADDONS_EXT_SITE_PRELOADER', |
| 164 |
'link' => admin_url('admin.php?page=king-addons-site-preloader'), |
| 165 |
], |
| 166 |
'image-optimizer' => [ |
| 167 |
'title' => esc_html__('Image Optimizer', 'king-addons'), |
| 168 |
'description' => esc_html__('Optimize images in your Media Library to reduce file sizes, improve website performance, and boost SEO.', 'king-addons'), |
| 169 |
'icon' => 'dashicons-format-image', |
| 170 |
'constant' => 'KING_ADDONS_EXT_IMAGE_OPTIMIZER', |
| 171 |
'link' => admin_url('admin.php?page=king-addons-image-optimizer'), |
| 172 |
], |
| 173 |
'ai-seo-tools' => [ |
| 174 |
'title' => esc_html__('AI SEO Tools', 'king-addons'), |
| 175 |
'description' => esc_html__('AI-powered toolkit: bulk Alt Text Generator for media, Auto Tagging for posts, and Blog Post Generator — all with progress tracking and OpenAI integration.', 'king-addons'), |
| 176 |
'icon' => 'dashicons-chart-area', |
| 177 |
'constant' => 'KING_ADDONS_EXT_AI_SEO_TOOLS', |
| 178 |
'link' => admin_url('admin.php?page=king-addons-ai-seo-tools'), |
| 179 |
], |
| 180 |
|
| 181 |
]; |
| 182 |
|
| 183 |
// If a constant is defined and false, hide the extension entirely. |
| 184 |
// This allows developers to keep in-progress extensions out of the UI. |
| 185 |
return array_filter( |
| 186 |
$extensions, |
| 187 |
static function (array $ext): bool { |
| 188 |
$constant_name = $ext['constant'] ?? ''; |
| 189 |
if ($constant_name === '') { |
| 190 |
return true; |
| 191 |
} |
| 192 |
if (!defined($constant_name)) { |
| 193 |
return true; |
| 194 |
} |
| 195 |
return (bool) constant($constant_name); |
| 196 |
} |
| 197 |
); |
| 198 |
} |
| 199 |
|