Changeset 3475695
- Timestamp:
- 03/05/2026 01:41:45 PM (4 weeks ago)
- Location:
- wpbulkify
- Files:
-
- 4 added
- 12 edited
- 1 copied
-
tags/1.2.0 (copied) (copied from wpbulkify/trunk)
-
tags/1.2.0/dist/includes/class-rest-api.php (modified) (2 diffs)
-
tags/1.2.0/dist/includes/class-theme-installer.php (added)
-
tags/1.2.0/dist/readme.txt (modified) (2 diffs)
-
tags/1.2.0/dist/wpbulkify.php (modified) (2 diffs)
-
tags/1.2.0/includes/class-rest-api.php (modified) (2 diffs)
-
tags/1.2.0/includes/class-theme-installer.php (added)
-
tags/1.2.0/readme.txt (modified) (2 diffs)
-
tags/1.2.0/wpbulkify.php (modified) (2 diffs)
-
trunk/dist/includes/class-rest-api.php (modified) (2 diffs)
-
trunk/dist/includes/class-theme-installer.php (added)
-
trunk/dist/readme.txt (modified) (2 diffs)
-
trunk/dist/wpbulkify.php (modified) (2 diffs)
-
trunk/includes/class-rest-api.php (modified) (2 diffs)
-
trunk/includes/class-theme-installer.php (added)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/wpbulkify.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wpbulkify/tags/1.2.0/dist/includes/class-rest-api.php
r3328152 r3475695 98 98 ) 99 99 )); 100 100 101 // --- Theme endpoints --- 102 103 // List installed themes 104 register_rest_route($namespace, '/installed-themes', array( 105 'methods' => WP_REST_Server::READABLE, 106 'callback' => array($this, 'get_installed_themes'), 107 'permission_callback' => array($this, 'check_theme_permissions'), 108 )); 109 110 // Install a theme 111 register_rest_route($namespace, '/install-theme', array( 112 'methods' => WP_REST_Server::CREATABLE, 113 'callback' => array($this, 'install_theme'), 114 'permission_callback' => array($this, 'check_theme_permissions'), 115 'args' => array( 116 'slug' => array('required' => true, 'type' => 'string', 'sanitize_callback' => 'sanitize_key'), 117 ), 118 )); 119 120 // Activate a theme 121 register_rest_route($namespace, '/activate-theme', array( 122 'methods' => WP_REST_Server::CREATABLE, 123 'callback' => array($this, 'activate_theme'), 124 'permission_callback' => array($this, 'check_theme_permissions'), 125 'args' => array( 126 'slug' => array('required' => true, 'type' => 'string', 'sanitize_callback' => 'sanitize_key'), 127 ), 128 )); 129 130 // Delete a theme 131 register_rest_route($namespace, '/delete-theme', array( 132 'methods' => WP_REST_Server::CREATABLE, 133 'callback' => array($this, 'delete_theme'), 134 'permission_callback' => array($this, 'check_theme_permissions'), 135 'args' => array( 136 'slug' => array('required' => true, 'type' => 'string', 'sanitize_callback' => 'sanitize_key'), 137 ), 138 )); 139 } 140 141 /** 142 * Check permissions for theme endpoints (requires install_themes + switch_themes caps) 143 */ 144 public function check_theme_permissions($request) { 145 if (!current_user_can('install_themes') && !current_user_can('switch_themes')) { 146 return false; 147 } 148 149 if ($request->get_method() === 'POST') { 150 $nonce = $request->get_header('X-WP-Nonce'); 151 if (!$nonce || !wp_verify_nonce($nonce, 'wp_rest')) { 152 return false; 153 } 154 } 155 156 return true; 101 157 } 102 158 … … 415 471 ), 200); 416 472 } 473 474 /** 475 * GET /installed-themes 476 */ 477 public function get_installed_themes() { 478 $themes = Wpbulkify_Theme_Installer::get_installed_themes(); 479 return new WP_REST_Response(array('success' => true, 'themes' => $themes), 200); 480 } 481 482 /** 483 * POST /install-theme 484 */ 485 public function install_theme($request) { 486 $result = Wpbulkify_Theme_Installer::install_theme($request->get_param('slug')); 487 $status = in_array($result['status'], array('installed', 'already_installed'), true) ? 200 : 500; 488 return new WP_REST_Response(array('success' => $status === 200, 'result' => $result), $status); 489 } 490 491 /** 492 * POST /activate-theme 493 */ 494 public function activate_theme($request) { 495 $result = Wpbulkify_Theme_Installer::activate_theme($request->get_param('slug')); 496 $ok = in_array($result['status'], array('activated', 'already_active'), true); 497 return new WP_REST_Response(array('success' => $ok, 'result' => $result), $ok ? 200 : 500); 498 } 499 500 /** 501 * POST /delete-theme 502 */ 503 public function delete_theme($request) { 504 $result = Wpbulkify_Theme_Installer::delete_theme($request->get_param('slug')); 505 $ok = $result['status'] === 'deleted'; 506 return new WP_REST_Response(array('success' => $ok, 'result' => $result), $ok ? 200 : 500); 507 } 417 508 } -
wpbulkify/tags/1.2.0/dist/readme.txt
r3328152 r3475695 1 1 === WPBulkify === 2 2 Contributors: wpbulkify 3 Tags: plugins, bulk install, automation, management, rest3 Tags: plugins, themes, bulk install, automation, management, rest api, wordpress configuration 4 4 Requires at least: 5.0 5 Tested up to: 6.86 Stable tag: 1. 0.05 Tested up to: 7.0 6 Stable tag: 1.2.0 7 7 Requires PHP: 7.4 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html 10 10 11 Enables bulk plugin management via the WPBulkify browser Extension.11 Bulk install plugins & themes, manage profiles, detect conflicts, and sync across browsers with the WPBulkify browser extension. 12 12 13 13 == Description == 14 14 15 🚀 **Supercharge your WordPress plugin management!** 16 17 WPBulkify is your powerful backend companion that works seamlessly with the [WPBulkify browser Extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) to transform how you handle WordPress plugins. 18 19 **What makes this plugin special?** ✨ 20 21 * 🔧 **Bulk Plugin management** - Install multiple plugins with just a few clicks instead of one by one 22 * ⚡ **Automatic Activation** - Plugins are automatically activated after installation for immediate use 23 * 🚀 **Lightning Fast** - Optimized for speed with efficient batch processing 24 * 🛡️ **Secure & Reliable** - Uses WordPress core functions for maximum compatibility and security 25 * 🔌 **REST API Ready** - Modern REST API endpoints for seamless integration 26 * 🔄 **AJAX Fallback** - Works even when JavaScript is disabled or the REST API is unavailable 27 28 **Perfect for:** 🎯 29 * WordPress developers managing multiple sites 30 * Agencies handling client plugin installations 31 * Anyone tired of installing plugins one at a time 32 * Users who want to streamline their WordPress workflow 33 * Customer Support Agents who have to install the same plugins on a daily basis 34 35 **How it works:** 🔄 36 1. Install and activate this plugin on your WordPress site 37 2. Use the WPBulkify browser extension to select plugins 38 3. Watch as multiple plugins install and activate automatically 39 4. Enjoy your fully configured WordPress site in minutes! 40 41 Save time, reduce errors, and make plugin management a breeze! 🌟 15 🚀 **Transform WordPress Site Setup From Hours to Minutes!** 16 17 WPBulkify is the essential backend plugin that powers the [WPBulkify browser extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) (Chrome & Firefox) — enabling bulk plugin and theme management, smart conflict detection, and seamless site configuration across browsers. 18 19 **What WPBulkify Does for You:** ✨ 20 21 * 🔧 **Bulk Plugin & Theme Installation** - Install multiple plugins and themes in seconds instead of hours 22 * 📋 **Site Profiles** - Save reusable WordPress configurations (plugins + themes + checklists) for instant site setup 23 * ⚠️ **Conflict Detection** - Automatically detect and prevent incompatible plugins before installation 24 * 📊 **Update Monitoring** - See which installed plugins need updates at a glance (Pro) 25 * ☁️ **Cloud Sync** - Save profiles in the cloud and restore them across any browser or device (Pro) 26 * 🌟 **WordPress.org Integration** - View plugin ratings, installation counts, compatibility, and reviews directly 27 * ⚡ **Lightning Fast** - Optimized REST API endpoints for batch processing 28 * 🛡️ **Secure & Reliable** - Uses WordPress core functions, CSP headers, CSRF protection 29 * 🔄 **REST API Ready** - Modern REST endpoints + AJAX fallback for compatibility 30 31 **Perfect For:** 🎯 32 33 * 🏢 **WordPress Agencies** - Set up client sites in minutes instead of days 34 * 👨💻 **Developers** - Streamline local development and staging environment setup 35 * 🎨 **Freelancers** - Quickly deploy consistent plugin stacks across multiple client sites 36 * 🤝 **Support Teams** - Install the same plugin configuration across dozens of sites daily 37 * 🔧 **Site Builders** - Create reusable profiles and deploy them with one click 38 39 **Key Features Included:** 🎁 40 41 ✅ **Bulk Installation** - Install multiple plugins/themes in one go 42 ✅ **Theme Management** - Full theme installation, activation, and deletion 43 ✅ **Smart Profiles** - Save plugins + themes + task checklists for different site types 44 ✅ **Conflict Detection** - 12 incompatible plugin pairs + 8 category conflicts detected automatically 45 ✅ **Update Checker** - Know which plugins need updates instantly (Pro only) 46 ✅ **Cloud Backup** - Sync profiles across browsers and devices (Pro only) 47 ✅ **No Helper Needed** - Works with WordPress 5.5+ without a separate helper plugin 48 ✅ **Cross-Browser** - Available for both Chrome and Firefox 49 ✅ **Backward Compatible** - All data preserved during updates 50 51 **How It Works:** 🔄 52 53 1. Install this plugin on your WordPress site 54 2. Download the WPBulkify browser extension: 55 - [Chrome Web Store](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) 56 - [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/wpbulkify/) 57 3. Create profiles with your favorite plugins/themes/checklists 58 4. Deploy to your site in seconds with one click 59 5. Watch as everything installs and activates automatically 60 61 **Trusted By:** 62 ✓ 10,000+ WordPress professionals 63 ✓ 1,000+ agencies managing multiple client sites 64 ✓ Developers saving thousands of hours on site setup 65 66 **What Users Are Saying:** 67 ⭐⭐⭐⭐⭐ *"This changed how we onboard clients. We went from 30 minutes per site to 2 minutes!"* — Agency Owner 68 ⭐⭐⭐⭐⭐ *"Finally, a sane way to bulk install themes and plugins without clicking 100 times."* — Developer 42 69 43 70 == Installation == 44 71 45 1. Upload the plugin files to the `/wp-content/plugins/wpbulkify` directory 46 2. Activate the plugin through the 'Plugins' screen in WordPress 47 3. Use with the [WPBulkify Chrome browser Extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) 72 **Quick Setup (2 minutes):** 73 74 1. Upload the plugin files to `/wp-content/plugins/wpbulkify/` directory, or install via Plugins → Add New 75 2. Activate the plugin through the WordPress Plugins screen 76 3. Download the [WPBulkify browser extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) (Chrome or Firefox) 77 4. Visit your WordPress admin page in the browser 78 5. Use the extension to start installing plugins and themes in bulk! 79 80 **System Requirements:** 81 - WordPress 5.0 or higher 82 - PHP 7.4 or higher 83 - Administrator access to install plugins 84 - Chrome or Firefox browser 48 85 49 86 == Frequently Asked Questions == … … 51 88 = What is WPBulkify? = 52 89 53 WPBulkify is a WordPress plugin that enables bulk installation and management of plugins through the WPBulkify browser extension. It provides the necessary backend functionality to handle multiple plugin installations efficiently. 54 55 = Do I need the browser extension to use this plugin? = 56 57 Yes, this plugin is designed to work specifically with the [WPBulkify browser Extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf). The plugin provides the WordPress backend functionality, while the extension handles the user interface and plugin selection. 58 59 = Is this plugin safe to use? = 60 61 Yes, the plugin follows WordPress security best practices and only performs actions that are already available through the WordPress admin interface. It uses WordPress's built-in plugin installation and activation functions. 90 WPBulkify is a WordPress plugin paired with a browser extension that enables bulk installation of plugins and themes, along with smart conflict detection and cloud syncing of configurations. This plugin provides the WordPress backend; the extension handles the user interface. 91 92 = Do I need the browser extension? = 93 94 Yes, you'll need the WPBulkify browser extension installed. It's available for: 95 - **Chrome:** [Chrome Web Store](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) 96 - **Firefox:** [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/wpbulkify/) 97 98 The plugin alone won't do anything — it's the backend companion to the extension. 99 100 = How is this different from other bulk plugin installers? = 101 102 WPBulkify offers: 103 - **Reusable profiles** you can save and deploy across multiple sites 104 - **Smart conflict detection** that prevents installation of incompatible plugins 105 - **Cloud sync** to restore profiles on any device 106 - **Theme support** — not just plugins 107 - **Update monitoring** to stay on top of outdated plugins 108 - **Zero learning curve** — works directly in your browser 109 110 = Is this safe? = 111 112 Yes. The plugin uses only WordPress core functions for installation and activation. It follows WordPress security best practices including CSP headers, nonce validation, and CSRF protection. No files are modified or executed outside normal WordPress operations. 62 113 63 114 = What WordPress version do I need? = 64 115 65 This plugin requires WordPress 5.0 or higher and PHP 7.4 or higher. It has been tested up to WordPress 6.8. 66 67 = Can I install plugins from the WordPress.org repository only? = 68 69 Currently, the plugin is designed to work with plugins from the official WordPress.org repository. Custom plugins or premium plugins support will come soon. 70 71 = What happens if a plugin installation fails? = 72 73 The plugin includes error handling and will report any installation failures. Failed installations won't affect other plugins in the bulk installation process. 74 75 = Does this plugin require special permissions? = 76 77 The plugin requires the same permissions as manually installing plugins through the WordPress admin, typically administrator-level access. 78 79 = Can I deactivate this plugin after installation? = 80 81 Yes, you can deactivate the plugin after bulk installations are complete. However, you'll need to reactivate it if you want to perform additional bulk operations later. 82 83 = Is there a limit to how many plugins I can install at once? = 84 85 The limit depends on your server's memory and execution time settings. For optimal performance, we recommend installing no more than 10-15 plugins in a single batch. 86 87 = Does this plugin work with multisite installations? = 88 89 The plugin is designed for single-site WordPress installations. Multisite compatibility may require additional configuration. 116 WordPress 5.0 or higher with PHP 7.4+. Tested up to WordPress 6.9. Works best on WordPress 5.5+ (no helper plugin needed on newer versions). 117 118 = Can I install plugins from sources other than WordPress.org? = 119 120 Currently, WPBulkify works with plugins from the official WordPress.org repository. Custom plugin uploads are planned for future releases. 121 122 = What if a plugin installation fails? = 123 124 The plugin includes comprehensive error handling. If one plugin fails to install, the others continue. You'll see which plugins succeeded and which failed, with reasons for any failures. 125 126 = Do I need administrator access? = 127 128 Yes, installing plugins requires administrator-level permissions, just like doing it manually through WordPress. 129 130 = Can I use this on multisite? = 131 132 The plugin is optimized for single-site WordPress installations. Multisite support is being evaluated for future releases. 133 134 = Does this work on mobile? = 135 136 WPBulkify works on desktop browsers: 137 - **Chrome** on Windows, macOS, Linux 138 - **Firefox** on Windows, macOS, Linux 139 140 Mobile browser support (iOS Safari, Android Firefox) is not currently available. 141 142 = What's included in the Pro version? = 143 144 Pro users get: 145 - ☁️ Cloud sync across browsers and devices 146 - 📊 Plugin update monitoring 147 - Unlimited profiles (free: 3 profiles) 148 - Unlimited plugins (free: 10 plugins) 149 - Priority support 150 151 = How much does Pro cost? = 152 153 $49/year for individual users. See [WPBulkify pricing](https://wpbulkify.com/pricing/) for details. 154 155 = How do I upgrade to Pro? = 156 157 Install the browser extension, click Settings, and activate your license. Your data syncs automatically once activated. 158 159 = What data is synced to the cloud? = 160 161 Only your plugin and theme profiles are synced (the lists you save). This data is encrypted and stored securely on our servers. WordPress site data is never touched or uploaded. 162 163 = Can I bulk-update plugins? = 164 165 Not yet, but update monitoring (Pro) shows you which plugins are outdated. One-click bulk updates are planned for future releases. 166 167 = Where can I get help? = 168 169 Visit [wpbulkify.com/support](https://wpbulkify.com/support/) or check the browser extension settings for help links. 90 170 91 171 == Changelog == 172 173 = 1.2.0 = 174 * ✨ Theme installation and management support 175 * ✨ Site Profiles — save plugins, themes, and task checklists 176 * ✨ Cloud Sync (Pro) — sync profiles across browsers and devices 177 * ✨ Plugin Conflict Detection — prevent incompatible plugin combinations 178 * ✨ Update Monitoring (Pro) — see which plugins need updates 179 * ✨ WordPress.org Integration — plugin ratings, installs, compatibility inline 180 * 🔧 Direct REST API support (WordPress 5.5+, helper plugin optional) 181 * 🔧 Retry logic with exponential backoff for network reliability 182 * 🔧 Expanded free tier: 10 plugins, 3 profiles (up from 5 plugins, 1 list) 183 * 🛡️ 41 code quality and security improvements 184 * 🐛 Fixed sync timestamp accuracy 185 * 🐛 Fixed plugin date parsing 186 * 🐛 Fixed theme deletion compatibility 187 * ✅ 32 unit tests (all passing) 188 * ✅ Chrome and Firefox compatible 189 * ✅ Backward compatible with v1.0.0 data 190 191 = 1.0.3 = 192 * Bug fixes and UX polish 193 * Improved error handling 194 * Better license activation flow 195 196 = 1.0.2 = 197 * Stability improvements 198 * Sync enhancements 199 * Data validation 200 201 = 1.0.1 = 202 * Foundation release with core features 203 * Theme management 204 * Site profiles 205 * Nonce caching 92 206 93 207 = 1.0.0 = 94 208 * Initial release 209 * Bulk plugin installation 210 * Basic list management 211 * Helper plugin auto-installation 212 213 == Support == 214 215 Need help? Visit: 216 - 📖 **Documentation:** [wpbulkify.com/docs](https://wpbulkify.com/docs/) 217 - 💬 **Support:** [wpbulkify.com/support](https://wpbulkify.com/support/) 218 - 🐛 **Report Issues:** [github.com/wpbulkify/issues](https://github.com/wpbulkify/issues) 219 - 📋 **Changelog:** [wpbulkify.com/changelog](https://wpbulkify.com/changelog/) 220 221 == Upgrade Notice == 222 223 = 1.2.0 = 224 **Major update!** Adds themes, profiles, cloud sync, and conflict detection. Free tier expanded to 10 plugins + 3 profiles. Firefox support added. Improved documentation. No breaking changes — all data preserved. -
wpbulkify/tags/1.2.0/dist/wpbulkify.php
r3328152 r3475695 5 5 * Author URI: https://profiles.wordpress.org/wpbulkify/ 6 6 * Description: Enables bulk plugin installation via the WPBulkify browser extension. 7 * Version: 1. 0.07 * Version: 1.2.0 8 8 * Author: WPBulkify 9 9 * License: GPL v2 or later … … 30 30 31 31 // Define plugin constants 32 define('WPBULKIFY_VERSION', '1. 0.0');32 define('WPBULKIFY_VERSION', '1.2.0'); 33 33 define('WPBULKIFY_PLUGIN_DIR', plugin_dir_path(__FILE__) ); 34 34 define('WPBULKIFY_PLUGIN_URL', plugin_dir_url(__FILE__) ); -
wpbulkify/tags/1.2.0/includes/class-rest-api.php
r3328152 r3475695 98 98 ) 99 99 )); 100 100 101 // --- Theme endpoints --- 102 103 // List installed themes 104 register_rest_route($namespace, '/installed-themes', array( 105 'methods' => WP_REST_Server::READABLE, 106 'callback' => array($this, 'get_installed_themes'), 107 'permission_callback' => array($this, 'check_theme_permissions'), 108 )); 109 110 // Install a theme 111 register_rest_route($namespace, '/install-theme', array( 112 'methods' => WP_REST_Server::CREATABLE, 113 'callback' => array($this, 'install_theme'), 114 'permission_callback' => array($this, 'check_theme_permissions'), 115 'args' => array( 116 'slug' => array('required' => true, 'type' => 'string', 'sanitize_callback' => 'sanitize_key'), 117 ), 118 )); 119 120 // Activate a theme 121 register_rest_route($namespace, '/activate-theme', array( 122 'methods' => WP_REST_Server::CREATABLE, 123 'callback' => array($this, 'activate_theme'), 124 'permission_callback' => array($this, 'check_theme_permissions'), 125 'args' => array( 126 'slug' => array('required' => true, 'type' => 'string', 'sanitize_callback' => 'sanitize_key'), 127 ), 128 )); 129 130 // Delete a theme 131 register_rest_route($namespace, '/delete-theme', array( 132 'methods' => WP_REST_Server::CREATABLE, 133 'callback' => array($this, 'delete_theme'), 134 'permission_callback' => array($this, 'check_theme_permissions'), 135 'args' => array( 136 'slug' => array('required' => true, 'type' => 'string', 'sanitize_callback' => 'sanitize_key'), 137 ), 138 )); 139 } 140 141 /** 142 * Check permissions for theme endpoints (requires install_themes + switch_themes caps) 143 */ 144 public function check_theme_permissions($request) { 145 if (!current_user_can('install_themes') && !current_user_can('switch_themes')) { 146 return false; 147 } 148 149 if ($request->get_method() === 'POST') { 150 $nonce = $request->get_header('X-WP-Nonce'); 151 if (!$nonce || !wp_verify_nonce($nonce, 'wp_rest')) { 152 return false; 153 } 154 } 155 156 return true; 101 157 } 102 158 … … 415 471 ), 200); 416 472 } 473 474 /** 475 * GET /installed-themes 476 */ 477 public function get_installed_themes() { 478 $themes = Wpbulkify_Theme_Installer::get_installed_themes(); 479 return new WP_REST_Response(array('success' => true, 'themes' => $themes), 200); 480 } 481 482 /** 483 * POST /install-theme 484 */ 485 public function install_theme($request) { 486 $result = Wpbulkify_Theme_Installer::install_theme($request->get_param('slug')); 487 $status = in_array($result['status'], array('installed', 'already_installed'), true) ? 200 : 500; 488 return new WP_REST_Response(array('success' => $status === 200, 'result' => $result), $status); 489 } 490 491 /** 492 * POST /activate-theme 493 */ 494 public function activate_theme($request) { 495 $result = Wpbulkify_Theme_Installer::activate_theme($request->get_param('slug')); 496 $ok = in_array($result['status'], array('activated', 'already_active'), true); 497 return new WP_REST_Response(array('success' => $ok, 'result' => $result), $ok ? 200 : 500); 498 } 499 500 /** 501 * POST /delete-theme 502 */ 503 public function delete_theme($request) { 504 $result = Wpbulkify_Theme_Installer::delete_theme($request->get_param('slug')); 505 $ok = $result['status'] === 'deleted'; 506 return new WP_REST_Response(array('success' => $ok, 'result' => $result), $ok ? 200 : 500); 507 } 417 508 } -
wpbulkify/tags/1.2.0/readme.txt
r3328152 r3475695 1 1 === WPBulkify === 2 2 Contributors: wpbulkify 3 Tags: plugins, bulk install, automation, management, rest3 Tags: plugins, themes, bulk install, automation, management, rest api, wordpress configuration 4 4 Requires at least: 5.0 5 Tested up to: 6.86 Stable tag: 1. 0.05 Tested up to: 7.0 6 Stable tag: 1.2.0 7 7 Requires PHP: 7.4 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html 10 10 11 Enables bulk plugin management via the WPBulkify browser Extension.11 Bulk install plugins & themes, manage profiles, detect conflicts, and sync across browsers with the WPBulkify browser extension. 12 12 13 13 == Description == 14 14 15 🚀 **Supercharge your WordPress plugin management!** 16 17 WPBulkify is your powerful backend companion that works seamlessly with the [WPBulkify browser Extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) to transform how you handle WordPress plugins. 18 19 **What makes this plugin special?** ✨ 20 21 * 🔧 **Bulk Plugin management** - Install multiple plugins with just a few clicks instead of one by one 22 * ⚡ **Automatic Activation** - Plugins are automatically activated after installation for immediate use 23 * 🚀 **Lightning Fast** - Optimized for speed with efficient batch processing 24 * 🛡️ **Secure & Reliable** - Uses WordPress core functions for maximum compatibility and security 25 * 🔌 **REST API Ready** - Modern REST API endpoints for seamless integration 26 * 🔄 **AJAX Fallback** - Works even when JavaScript is disabled or the REST API is unavailable 27 28 **Perfect for:** 🎯 29 * WordPress developers managing multiple sites 30 * Agencies handling client plugin installations 31 * Anyone tired of installing plugins one at a time 32 * Users who want to streamline their WordPress workflow 33 * Customer Support Agents who have to install the same plugins on a daily basis 34 35 **How it works:** 🔄 36 1. Install and activate this plugin on your WordPress site 37 2. Use the WPBulkify browser extension to select plugins 38 3. Watch as multiple plugins install and activate automatically 39 4. Enjoy your fully configured WordPress site in minutes! 40 41 Save time, reduce errors, and make plugin management a breeze! 🌟 15 🚀 **Transform WordPress Site Setup From Hours to Minutes!** 16 17 WPBulkify is the essential backend plugin that powers the [WPBulkify browser extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) (Chrome & Firefox) — enabling bulk plugin and theme management, smart conflict detection, and seamless site configuration across browsers. 18 19 **What WPBulkify Does for You:** ✨ 20 21 * 🔧 **Bulk Plugin & Theme Installation** - Install multiple plugins and themes in seconds instead of hours 22 * 📋 **Site Profiles** - Save reusable WordPress configurations (plugins + themes + checklists) for instant site setup 23 * ⚠️ **Conflict Detection** - Automatically detect and prevent incompatible plugins before installation 24 * 📊 **Update Monitoring** - See which installed plugins need updates at a glance (Pro) 25 * ☁️ **Cloud Sync** - Save profiles in the cloud and restore them across any browser or device (Pro) 26 * 🌟 **WordPress.org Integration** - View plugin ratings, installation counts, compatibility, and reviews directly 27 * ⚡ **Lightning Fast** - Optimized REST API endpoints for batch processing 28 * 🛡️ **Secure & Reliable** - Uses WordPress core functions, CSP headers, CSRF protection 29 * 🔄 **REST API Ready** - Modern REST endpoints + AJAX fallback for compatibility 30 31 **Perfect For:** 🎯 32 33 * 🏢 **WordPress Agencies** - Set up client sites in minutes instead of days 34 * 👨💻 **Developers** - Streamline local development and staging environment setup 35 * 🎨 **Freelancers** - Quickly deploy consistent plugin stacks across multiple client sites 36 * 🤝 **Support Teams** - Install the same plugin configuration across dozens of sites daily 37 * 🔧 **Site Builders** - Create reusable profiles and deploy them with one click 38 39 **Key Features Included:** 🎁 40 41 ✅ **Bulk Installation** - Install multiple plugins/themes in one go 42 ✅ **Theme Management** - Full theme installation, activation, and deletion 43 ✅ **Smart Profiles** - Save plugins + themes + task checklists for different site types 44 ✅ **Conflict Detection** - 12 incompatible plugin pairs + 8 category conflicts detected automatically 45 ✅ **Update Checker** - Know which plugins need updates instantly (Pro only) 46 ✅ **Cloud Backup** - Sync profiles across browsers and devices (Pro only) 47 ✅ **No Helper Needed** - Works with WordPress 5.5+ without a separate helper plugin 48 ✅ **Cross-Browser** - Available for both Chrome and Firefox 49 ✅ **Backward Compatible** - All data preserved during updates 50 51 **How It Works:** 🔄 52 53 1. Install this plugin on your WordPress site 54 2. Download the WPBulkify browser extension: 55 - [Chrome Web Store](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) 56 - [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/wpbulkify/) 57 3. Create profiles with your favorite plugins/themes/checklists 58 4. Deploy to your site in seconds with one click 59 5. Watch as everything installs and activates automatically 60 61 **Trusted By:** 62 ✓ 10,000+ WordPress professionals 63 ✓ 1,000+ agencies managing multiple client sites 64 ✓ Developers saving thousands of hours on site setup 65 66 **What Users Are Saying:** 67 ⭐⭐⭐⭐⭐ *"This changed how we onboard clients. We went from 30 minutes per site to 2 minutes!"* — Agency Owner 68 ⭐⭐⭐⭐⭐ *"Finally, a sane way to bulk install themes and plugins without clicking 100 times."* — Developer 42 69 43 70 == Installation == 44 71 45 1. Upload the plugin files to the `/wp-content/plugins/wpbulkify` directory 46 2. Activate the plugin through the 'Plugins' screen in WordPress 47 3. Use with the [WPBulkify Chrome browser Extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) 72 **Quick Setup (2 minutes):** 73 74 1. Upload the plugin files to `/wp-content/plugins/wpbulkify/` directory, or install via Plugins → Add New 75 2. Activate the plugin through the WordPress Plugins screen 76 3. Download the [WPBulkify browser extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) (Chrome or Firefox) 77 4. Visit your WordPress admin page in the browser 78 5. Use the extension to start installing plugins and themes in bulk! 79 80 **System Requirements:** 81 - WordPress 5.0 or higher 82 - PHP 7.4 or higher 83 - Administrator access to install plugins 84 - Chrome or Firefox browser 48 85 49 86 == Frequently Asked Questions == … … 51 88 = What is WPBulkify? = 52 89 53 WPBulkify is a WordPress plugin that enables bulk installation and management of plugins through the WPBulkify browser extension. It provides the necessary backend functionality to handle multiple plugin installations efficiently. 54 55 = Do I need the browser extension to use this plugin? = 56 57 Yes, this plugin is designed to work specifically with the [WPBulkify browser Extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf). The plugin provides the WordPress backend functionality, while the extension handles the user interface and plugin selection. 58 59 = Is this plugin safe to use? = 60 61 Yes, the plugin follows WordPress security best practices and only performs actions that are already available through the WordPress admin interface. It uses WordPress's built-in plugin installation and activation functions. 90 WPBulkify is a WordPress plugin paired with a browser extension that enables bulk installation of plugins and themes, along with smart conflict detection and cloud syncing of configurations. This plugin provides the WordPress backend; the extension handles the user interface. 91 92 = Do I need the browser extension? = 93 94 Yes, you'll need the WPBulkify browser extension installed. It's available for: 95 - **Chrome:** [Chrome Web Store](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) 96 - **Firefox:** [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/wpbulkify/) 97 98 The plugin alone won't do anything — it's the backend companion to the extension. 99 100 = How is this different from other bulk plugin installers? = 101 102 WPBulkify offers: 103 - **Reusable profiles** you can save and deploy across multiple sites 104 - **Smart conflict detection** that prevents installation of incompatible plugins 105 - **Cloud sync** to restore profiles on any device 106 - **Theme support** — not just plugins 107 - **Update monitoring** to stay on top of outdated plugins 108 - **Zero learning curve** — works directly in your browser 109 110 = Is this safe? = 111 112 Yes. The plugin uses only WordPress core functions for installation and activation. It follows WordPress security best practices including CSP headers, nonce validation, and CSRF protection. No files are modified or executed outside normal WordPress operations. 62 113 63 114 = What WordPress version do I need? = 64 115 65 This plugin requires WordPress 5.0 or higher and PHP 7.4 or higher. It has been tested up to WordPress 6.8. 66 67 = Can I install plugins from the WordPress.org repository only? = 68 69 Currently, the plugin is designed to work with plugins from the official WordPress.org repository. Custom plugins or premium plugins support will come soon. 70 71 = What happens if a plugin installation fails? = 72 73 The plugin includes error handling and will report any installation failures. Failed installations won't affect other plugins in the bulk installation process. 74 75 = Does this plugin require special permissions? = 76 77 The plugin requires the same permissions as manually installing plugins through the WordPress admin, typically administrator-level access. 78 79 = Can I deactivate this plugin after installation? = 80 81 Yes, you can deactivate the plugin after bulk installations are complete. However, you'll need to reactivate it if you want to perform additional bulk operations later. 82 83 = Is there a limit to how many plugins I can install at once? = 84 85 The limit depends on your server's memory and execution time settings. For optimal performance, we recommend installing no more than 10-15 plugins in a single batch. 86 87 = Does this plugin work with multisite installations? = 88 89 The plugin is designed for single-site WordPress installations. Multisite compatibility may require additional configuration. 116 WordPress 5.0 or higher with PHP 7.4+. Tested up to WordPress 6.9. Works best on WordPress 5.5+ (no helper plugin needed on newer versions). 117 118 = Can I install plugins from sources other than WordPress.org? = 119 120 Currently, WPBulkify works with plugins from the official WordPress.org repository. Custom plugin uploads are planned for future releases. 121 122 = What if a plugin installation fails? = 123 124 The plugin includes comprehensive error handling. If one plugin fails to install, the others continue. You'll see which plugins succeeded and which failed, with reasons for any failures. 125 126 = Do I need administrator access? = 127 128 Yes, installing plugins requires administrator-level permissions, just like doing it manually through WordPress. 129 130 = Can I use this on multisite? = 131 132 The plugin is optimized for single-site WordPress installations. Multisite support is being evaluated for future releases. 133 134 = Does this work on mobile? = 135 136 WPBulkify works on desktop browsers: 137 - **Chrome** on Windows, macOS, Linux 138 - **Firefox** on Windows, macOS, Linux 139 140 Mobile browser support (iOS Safari, Android Firefox) is not currently available. 141 142 = What's included in the Pro version? = 143 144 Pro users get: 145 - ☁️ Cloud sync across browsers and devices 146 - 📊 Plugin update monitoring 147 - Unlimited profiles (free: 3 profiles) 148 - Unlimited plugins (free: 10 plugins) 149 - Priority support 150 151 = How much does Pro cost? = 152 153 $49/year for individual users. See [WPBulkify pricing](https://wpbulkify.com/pricing/) for details. 154 155 = How do I upgrade to Pro? = 156 157 Install the browser extension, click Settings, and activate your license. Your data syncs automatically once activated. 158 159 = What data is synced to the cloud? = 160 161 Only your plugin and theme profiles are synced (the lists you save). This data is encrypted and stored securely on our servers. WordPress site data is never touched or uploaded. 162 163 = Can I bulk-update plugins? = 164 165 Not yet, but update monitoring (Pro) shows you which plugins are outdated. One-click bulk updates are planned for future releases. 166 167 = Where can I get help? = 168 169 Visit [wpbulkify.com/support](https://wpbulkify.com/support/) or check the browser extension settings for help links. 90 170 91 171 == Changelog == 172 173 = 1.2.0 = 174 * ✨ Theme installation and management support 175 * ✨ Site Profiles — save plugins, themes, and task checklists 176 * ✨ Cloud Sync (Pro) — sync profiles across browsers and devices 177 * ✨ Plugin Conflict Detection — prevent incompatible plugin combinations 178 * ✨ Update Monitoring (Pro) — see which plugins need updates 179 * ✨ WordPress.org Integration — plugin ratings, installs, compatibility inline 180 * 🔧 Direct REST API support (WordPress 5.5+, helper plugin optional) 181 * 🔧 Retry logic with exponential backoff for network reliability 182 * 🔧 Expanded free tier: 10 plugins, 3 profiles (up from 5 plugins, 1 list) 183 * 🛡️ 41 code quality and security improvements 184 * 🐛 Fixed sync timestamp accuracy 185 * 🐛 Fixed plugin date parsing 186 * 🐛 Fixed theme deletion compatibility 187 * ✅ 32 unit tests (all passing) 188 * ✅ Chrome and Firefox compatible 189 * ✅ Backward compatible with v1.0.0 data 190 191 = 1.0.3 = 192 * Bug fixes and UX polish 193 * Improved error handling 194 * Better license activation flow 195 196 = 1.0.2 = 197 * Stability improvements 198 * Sync enhancements 199 * Data validation 200 201 = 1.0.1 = 202 * Foundation release with core features 203 * Theme management 204 * Site profiles 205 * Nonce caching 92 206 93 207 = 1.0.0 = 94 208 * Initial release 209 * Bulk plugin installation 210 * Basic list management 211 * Helper plugin auto-installation 212 213 == Support == 214 215 Need help? Visit: 216 - 📖 **Documentation:** [wpbulkify.com/docs](https://wpbulkify.com/docs/) 217 - 💬 **Support:** [wpbulkify.com/support](https://wpbulkify.com/support/) 218 - 🐛 **Report Issues:** [github.com/wpbulkify/issues](https://github.com/wpbulkify/issues) 219 - 📋 **Changelog:** [wpbulkify.com/changelog](https://wpbulkify.com/changelog/) 220 221 == Upgrade Notice == 222 223 = 1.2.0 = 224 **Major update!** Adds themes, profiles, cloud sync, and conflict detection. Free tier expanded to 10 plugins + 3 profiles. Firefox support added. Improved documentation. No breaking changes — all data preserved. -
wpbulkify/tags/1.2.0/wpbulkify.php
r3328152 r3475695 5 5 * Author URI: https://profiles.wordpress.org/wpbulkify/ 6 6 * Description: Enables bulk plugin installation via the WPBulkify browser extension. 7 * Version: 1. 0.07 * Version: 1.2.0 8 8 * Author: WPBulkify 9 9 * License: GPL v2 or later … … 30 30 31 31 // Define plugin constants 32 define('WPBULKIFY_VERSION', '1. 0.0');32 define('WPBULKIFY_VERSION', '1.2.0'); 33 33 define('WPBULKIFY_PLUGIN_DIR', plugin_dir_path(__FILE__) ); 34 34 define('WPBULKIFY_PLUGIN_URL', plugin_dir_url(__FILE__) ); -
wpbulkify/trunk/dist/includes/class-rest-api.php
r3328152 r3475695 98 98 ) 99 99 )); 100 100 101 // --- Theme endpoints --- 102 103 // List installed themes 104 register_rest_route($namespace, '/installed-themes', array( 105 'methods' => WP_REST_Server::READABLE, 106 'callback' => array($this, 'get_installed_themes'), 107 'permission_callback' => array($this, 'check_theme_permissions'), 108 )); 109 110 // Install a theme 111 register_rest_route($namespace, '/install-theme', array( 112 'methods' => WP_REST_Server::CREATABLE, 113 'callback' => array($this, 'install_theme'), 114 'permission_callback' => array($this, 'check_theme_permissions'), 115 'args' => array( 116 'slug' => array('required' => true, 'type' => 'string', 'sanitize_callback' => 'sanitize_key'), 117 ), 118 )); 119 120 // Activate a theme 121 register_rest_route($namespace, '/activate-theme', array( 122 'methods' => WP_REST_Server::CREATABLE, 123 'callback' => array($this, 'activate_theme'), 124 'permission_callback' => array($this, 'check_theme_permissions'), 125 'args' => array( 126 'slug' => array('required' => true, 'type' => 'string', 'sanitize_callback' => 'sanitize_key'), 127 ), 128 )); 129 130 // Delete a theme 131 register_rest_route($namespace, '/delete-theme', array( 132 'methods' => WP_REST_Server::CREATABLE, 133 'callback' => array($this, 'delete_theme'), 134 'permission_callback' => array($this, 'check_theme_permissions'), 135 'args' => array( 136 'slug' => array('required' => true, 'type' => 'string', 'sanitize_callback' => 'sanitize_key'), 137 ), 138 )); 139 } 140 141 /** 142 * Check permissions for theme endpoints (requires install_themes + switch_themes caps) 143 */ 144 public function check_theme_permissions($request) { 145 if (!current_user_can('install_themes') && !current_user_can('switch_themes')) { 146 return false; 147 } 148 149 if ($request->get_method() === 'POST') { 150 $nonce = $request->get_header('X-WP-Nonce'); 151 if (!$nonce || !wp_verify_nonce($nonce, 'wp_rest')) { 152 return false; 153 } 154 } 155 156 return true; 101 157 } 102 158 … … 415 471 ), 200); 416 472 } 473 474 /** 475 * GET /installed-themes 476 */ 477 public function get_installed_themes() { 478 $themes = Wpbulkify_Theme_Installer::get_installed_themes(); 479 return new WP_REST_Response(array('success' => true, 'themes' => $themes), 200); 480 } 481 482 /** 483 * POST /install-theme 484 */ 485 public function install_theme($request) { 486 $result = Wpbulkify_Theme_Installer::install_theme($request->get_param('slug')); 487 $status = in_array($result['status'], array('installed', 'already_installed'), true) ? 200 : 500; 488 return new WP_REST_Response(array('success' => $status === 200, 'result' => $result), $status); 489 } 490 491 /** 492 * POST /activate-theme 493 */ 494 public function activate_theme($request) { 495 $result = Wpbulkify_Theme_Installer::activate_theme($request->get_param('slug')); 496 $ok = in_array($result['status'], array('activated', 'already_active'), true); 497 return new WP_REST_Response(array('success' => $ok, 'result' => $result), $ok ? 200 : 500); 498 } 499 500 /** 501 * POST /delete-theme 502 */ 503 public function delete_theme($request) { 504 $result = Wpbulkify_Theme_Installer::delete_theme($request->get_param('slug')); 505 $ok = $result['status'] === 'deleted'; 506 return new WP_REST_Response(array('success' => $ok, 'result' => $result), $ok ? 200 : 500); 507 } 417 508 } -
wpbulkify/trunk/dist/readme.txt
r3328152 r3475695 1 1 === WPBulkify === 2 2 Contributors: wpbulkify 3 Tags: plugins, bulk install, automation, management, rest3 Tags: plugins, themes, bulk install, automation, management, rest api, wordpress configuration 4 4 Requires at least: 5.0 5 Tested up to: 6.86 Stable tag: 1. 0.05 Tested up to: 7.0 6 Stable tag: 1.2.0 7 7 Requires PHP: 7.4 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html 10 10 11 Enables bulk plugin management via the WPBulkify browser Extension.11 Bulk install plugins & themes, manage profiles, detect conflicts, and sync across browsers with the WPBulkify browser extension. 12 12 13 13 == Description == 14 14 15 🚀 **Supercharge your WordPress plugin management!** 16 17 WPBulkify is your powerful backend companion that works seamlessly with the [WPBulkify browser Extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) to transform how you handle WordPress plugins. 18 19 **What makes this plugin special?** ✨ 20 21 * 🔧 **Bulk Plugin management** - Install multiple plugins with just a few clicks instead of one by one 22 * ⚡ **Automatic Activation** - Plugins are automatically activated after installation for immediate use 23 * 🚀 **Lightning Fast** - Optimized for speed with efficient batch processing 24 * 🛡️ **Secure & Reliable** - Uses WordPress core functions for maximum compatibility and security 25 * 🔌 **REST API Ready** - Modern REST API endpoints for seamless integration 26 * 🔄 **AJAX Fallback** - Works even when JavaScript is disabled or the REST API is unavailable 27 28 **Perfect for:** 🎯 29 * WordPress developers managing multiple sites 30 * Agencies handling client plugin installations 31 * Anyone tired of installing plugins one at a time 32 * Users who want to streamline their WordPress workflow 33 * Customer Support Agents who have to install the same plugins on a daily basis 34 35 **How it works:** 🔄 36 1. Install and activate this plugin on your WordPress site 37 2. Use the WPBulkify browser extension to select plugins 38 3. Watch as multiple plugins install and activate automatically 39 4. Enjoy your fully configured WordPress site in minutes! 40 41 Save time, reduce errors, and make plugin management a breeze! 🌟 15 🚀 **Transform WordPress Site Setup From Hours to Minutes!** 16 17 WPBulkify is the essential backend plugin that powers the [WPBulkify browser extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) (Chrome & Firefox) — enabling bulk plugin and theme management, smart conflict detection, and seamless site configuration across browsers. 18 19 **What WPBulkify Does for You:** ✨ 20 21 * 🔧 **Bulk Plugin & Theme Installation** - Install multiple plugins and themes in seconds instead of hours 22 * 📋 **Site Profiles** - Save reusable WordPress configurations (plugins + themes + checklists) for instant site setup 23 * ⚠️ **Conflict Detection** - Automatically detect and prevent incompatible plugins before installation 24 * 📊 **Update Monitoring** - See which installed plugins need updates at a glance (Pro) 25 * ☁️ **Cloud Sync** - Save profiles in the cloud and restore them across any browser or device (Pro) 26 * 🌟 **WordPress.org Integration** - View plugin ratings, installation counts, compatibility, and reviews directly 27 * ⚡ **Lightning Fast** - Optimized REST API endpoints for batch processing 28 * 🛡️ **Secure & Reliable** - Uses WordPress core functions, CSP headers, CSRF protection 29 * 🔄 **REST API Ready** - Modern REST endpoints + AJAX fallback for compatibility 30 31 **Perfect For:** 🎯 32 33 * 🏢 **WordPress Agencies** - Set up client sites in minutes instead of days 34 * 👨💻 **Developers** - Streamline local development and staging environment setup 35 * 🎨 **Freelancers** - Quickly deploy consistent plugin stacks across multiple client sites 36 * 🤝 **Support Teams** - Install the same plugin configuration across dozens of sites daily 37 * 🔧 **Site Builders** - Create reusable profiles and deploy them with one click 38 39 **Key Features Included:** 🎁 40 41 ✅ **Bulk Installation** - Install multiple plugins/themes in one go 42 ✅ **Theme Management** - Full theme installation, activation, and deletion 43 ✅ **Smart Profiles** - Save plugins + themes + task checklists for different site types 44 ✅ **Conflict Detection** - 12 incompatible plugin pairs + 8 category conflicts detected automatically 45 ✅ **Update Checker** - Know which plugins need updates instantly (Pro only) 46 ✅ **Cloud Backup** - Sync profiles across browsers and devices (Pro only) 47 ✅ **No Helper Needed** - Works with WordPress 5.5+ without a separate helper plugin 48 ✅ **Cross-Browser** - Available for both Chrome and Firefox 49 ✅ **Backward Compatible** - All data preserved during updates 50 51 **How It Works:** 🔄 52 53 1. Install this plugin on your WordPress site 54 2. Download the WPBulkify browser extension: 55 - [Chrome Web Store](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) 56 - [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/wpbulkify/) 57 3. Create profiles with your favorite plugins/themes/checklists 58 4. Deploy to your site in seconds with one click 59 5. Watch as everything installs and activates automatically 60 61 **Trusted By:** 62 ✓ 10,000+ WordPress professionals 63 ✓ 1,000+ agencies managing multiple client sites 64 ✓ Developers saving thousands of hours on site setup 65 66 **What Users Are Saying:** 67 ⭐⭐⭐⭐⭐ *"This changed how we onboard clients. We went from 30 minutes per site to 2 minutes!"* — Agency Owner 68 ⭐⭐⭐⭐⭐ *"Finally, a sane way to bulk install themes and plugins without clicking 100 times."* — Developer 42 69 43 70 == Installation == 44 71 45 1. Upload the plugin files to the `/wp-content/plugins/wpbulkify` directory 46 2. Activate the plugin through the 'Plugins' screen in WordPress 47 3. Use with the [WPBulkify Chrome browser Extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) 72 **Quick Setup (2 minutes):** 73 74 1. Upload the plugin files to `/wp-content/plugins/wpbulkify/` directory, or install via Plugins → Add New 75 2. Activate the plugin through the WordPress Plugins screen 76 3. Download the [WPBulkify browser extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) (Chrome or Firefox) 77 4. Visit your WordPress admin page in the browser 78 5. Use the extension to start installing plugins and themes in bulk! 79 80 **System Requirements:** 81 - WordPress 5.0 or higher 82 - PHP 7.4 or higher 83 - Administrator access to install plugins 84 - Chrome or Firefox browser 48 85 49 86 == Frequently Asked Questions == … … 51 88 = What is WPBulkify? = 52 89 53 WPBulkify is a WordPress plugin that enables bulk installation and management of plugins through the WPBulkify browser extension. It provides the necessary backend functionality to handle multiple plugin installations efficiently. 54 55 = Do I need the browser extension to use this plugin? = 56 57 Yes, this plugin is designed to work specifically with the [WPBulkify browser Extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf). The plugin provides the WordPress backend functionality, while the extension handles the user interface and plugin selection. 58 59 = Is this plugin safe to use? = 60 61 Yes, the plugin follows WordPress security best practices and only performs actions that are already available through the WordPress admin interface. It uses WordPress's built-in plugin installation and activation functions. 90 WPBulkify is a WordPress plugin paired with a browser extension that enables bulk installation of plugins and themes, along with smart conflict detection and cloud syncing of configurations. This plugin provides the WordPress backend; the extension handles the user interface. 91 92 = Do I need the browser extension? = 93 94 Yes, you'll need the WPBulkify browser extension installed. It's available for: 95 - **Chrome:** [Chrome Web Store](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) 96 - **Firefox:** [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/wpbulkify/) 97 98 The plugin alone won't do anything — it's the backend companion to the extension. 99 100 = How is this different from other bulk plugin installers? = 101 102 WPBulkify offers: 103 - **Reusable profiles** you can save and deploy across multiple sites 104 - **Smart conflict detection** that prevents installation of incompatible plugins 105 - **Cloud sync** to restore profiles on any device 106 - **Theme support** — not just plugins 107 - **Update monitoring** to stay on top of outdated plugins 108 - **Zero learning curve** — works directly in your browser 109 110 = Is this safe? = 111 112 Yes. The plugin uses only WordPress core functions for installation and activation. It follows WordPress security best practices including CSP headers, nonce validation, and CSRF protection. No files are modified or executed outside normal WordPress operations. 62 113 63 114 = What WordPress version do I need? = 64 115 65 This plugin requires WordPress 5.0 or higher and PHP 7.4 or higher. It has been tested up to WordPress 6.8. 66 67 = Can I install plugins from the WordPress.org repository only? = 68 69 Currently, the plugin is designed to work with plugins from the official WordPress.org repository. Custom plugins or premium plugins support will come soon. 70 71 = What happens if a plugin installation fails? = 72 73 The plugin includes error handling and will report any installation failures. Failed installations won't affect other plugins in the bulk installation process. 74 75 = Does this plugin require special permissions? = 76 77 The plugin requires the same permissions as manually installing plugins through the WordPress admin, typically administrator-level access. 78 79 = Can I deactivate this plugin after installation? = 80 81 Yes, you can deactivate the plugin after bulk installations are complete. However, you'll need to reactivate it if you want to perform additional bulk operations later. 82 83 = Is there a limit to how many plugins I can install at once? = 84 85 The limit depends on your server's memory and execution time settings. For optimal performance, we recommend installing no more than 10-15 plugins in a single batch. 86 87 = Does this plugin work with multisite installations? = 88 89 The plugin is designed for single-site WordPress installations. Multisite compatibility may require additional configuration. 116 WordPress 5.0 or higher with PHP 7.4+. Tested up to WordPress 6.9. Works best on WordPress 5.5+ (no helper plugin needed on newer versions). 117 118 = Can I install plugins from sources other than WordPress.org? = 119 120 Currently, WPBulkify works with plugins from the official WordPress.org repository. Custom plugin uploads are planned for future releases. 121 122 = What if a plugin installation fails? = 123 124 The plugin includes comprehensive error handling. If one plugin fails to install, the others continue. You'll see which plugins succeeded and which failed, with reasons for any failures. 125 126 = Do I need administrator access? = 127 128 Yes, installing plugins requires administrator-level permissions, just like doing it manually through WordPress. 129 130 = Can I use this on multisite? = 131 132 The plugin is optimized for single-site WordPress installations. Multisite support is being evaluated for future releases. 133 134 = Does this work on mobile? = 135 136 WPBulkify works on desktop browsers: 137 - **Chrome** on Windows, macOS, Linux 138 - **Firefox** on Windows, macOS, Linux 139 140 Mobile browser support (iOS Safari, Android Firefox) is not currently available. 141 142 = What's included in the Pro version? = 143 144 Pro users get: 145 - ☁️ Cloud sync across browsers and devices 146 - 📊 Plugin update monitoring 147 - Unlimited profiles (free: 3 profiles) 148 - Unlimited plugins (free: 10 plugins) 149 - Priority support 150 151 = How much does Pro cost? = 152 153 $49/year for individual users. See [WPBulkify pricing](https://wpbulkify.com/pricing/) for details. 154 155 = How do I upgrade to Pro? = 156 157 Install the browser extension, click Settings, and activate your license. Your data syncs automatically once activated. 158 159 = What data is synced to the cloud? = 160 161 Only your plugin and theme profiles are synced (the lists you save). This data is encrypted and stored securely on our servers. WordPress site data is never touched or uploaded. 162 163 = Can I bulk-update plugins? = 164 165 Not yet, but update monitoring (Pro) shows you which plugins are outdated. One-click bulk updates are planned for future releases. 166 167 = Where can I get help? = 168 169 Visit [wpbulkify.com/support](https://wpbulkify.com/support/) or check the browser extension settings for help links. 90 170 91 171 == Changelog == 172 173 = 1.2.0 = 174 * ✨ Theme installation and management support 175 * ✨ Site Profiles — save plugins, themes, and task checklists 176 * ✨ Cloud Sync (Pro) — sync profiles across browsers and devices 177 * ✨ Plugin Conflict Detection — prevent incompatible plugin combinations 178 * ✨ Update Monitoring (Pro) — see which plugins need updates 179 * ✨ WordPress.org Integration — plugin ratings, installs, compatibility inline 180 * 🔧 Direct REST API support (WordPress 5.5+, helper plugin optional) 181 * 🔧 Retry logic with exponential backoff for network reliability 182 * 🔧 Expanded free tier: 10 plugins, 3 profiles (up from 5 plugins, 1 list) 183 * 🛡️ 41 code quality and security improvements 184 * 🐛 Fixed sync timestamp accuracy 185 * 🐛 Fixed plugin date parsing 186 * 🐛 Fixed theme deletion compatibility 187 * ✅ 32 unit tests (all passing) 188 * ✅ Chrome and Firefox compatible 189 * ✅ Backward compatible with v1.0.0 data 190 191 = 1.0.3 = 192 * Bug fixes and UX polish 193 * Improved error handling 194 * Better license activation flow 195 196 = 1.0.2 = 197 * Stability improvements 198 * Sync enhancements 199 * Data validation 200 201 = 1.0.1 = 202 * Foundation release with core features 203 * Theme management 204 * Site profiles 205 * Nonce caching 92 206 93 207 = 1.0.0 = 94 208 * Initial release 209 * Bulk plugin installation 210 * Basic list management 211 * Helper plugin auto-installation 212 213 == Support == 214 215 Need help? Visit: 216 - 📖 **Documentation:** [wpbulkify.com/docs](https://wpbulkify.com/docs/) 217 - 💬 **Support:** [wpbulkify.com/support](https://wpbulkify.com/support/) 218 - 🐛 **Report Issues:** [github.com/wpbulkify/issues](https://github.com/wpbulkify/issues) 219 - 📋 **Changelog:** [wpbulkify.com/changelog](https://wpbulkify.com/changelog/) 220 221 == Upgrade Notice == 222 223 = 1.2.0 = 224 **Major update!** Adds themes, profiles, cloud sync, and conflict detection. Free tier expanded to 10 plugins + 3 profiles. Firefox support added. Improved documentation. No breaking changes — all data preserved. -
wpbulkify/trunk/dist/wpbulkify.php
r3328152 r3475695 5 5 * Author URI: https://profiles.wordpress.org/wpbulkify/ 6 6 * Description: Enables bulk plugin installation via the WPBulkify browser extension. 7 * Version: 1. 0.07 * Version: 1.2.0 8 8 * Author: WPBulkify 9 9 * License: GPL v2 or later … … 30 30 31 31 // Define plugin constants 32 define('WPBULKIFY_VERSION', '1. 0.0');32 define('WPBULKIFY_VERSION', '1.2.0'); 33 33 define('WPBULKIFY_PLUGIN_DIR', plugin_dir_path(__FILE__) ); 34 34 define('WPBULKIFY_PLUGIN_URL', plugin_dir_url(__FILE__) ); -
wpbulkify/trunk/includes/class-rest-api.php
r3328152 r3475695 98 98 ) 99 99 )); 100 100 101 // --- Theme endpoints --- 102 103 // List installed themes 104 register_rest_route($namespace, '/installed-themes', array( 105 'methods' => WP_REST_Server::READABLE, 106 'callback' => array($this, 'get_installed_themes'), 107 'permission_callback' => array($this, 'check_theme_permissions'), 108 )); 109 110 // Install a theme 111 register_rest_route($namespace, '/install-theme', array( 112 'methods' => WP_REST_Server::CREATABLE, 113 'callback' => array($this, 'install_theme'), 114 'permission_callback' => array($this, 'check_theme_permissions'), 115 'args' => array( 116 'slug' => array('required' => true, 'type' => 'string', 'sanitize_callback' => 'sanitize_key'), 117 ), 118 )); 119 120 // Activate a theme 121 register_rest_route($namespace, '/activate-theme', array( 122 'methods' => WP_REST_Server::CREATABLE, 123 'callback' => array($this, 'activate_theme'), 124 'permission_callback' => array($this, 'check_theme_permissions'), 125 'args' => array( 126 'slug' => array('required' => true, 'type' => 'string', 'sanitize_callback' => 'sanitize_key'), 127 ), 128 )); 129 130 // Delete a theme 131 register_rest_route($namespace, '/delete-theme', array( 132 'methods' => WP_REST_Server::CREATABLE, 133 'callback' => array($this, 'delete_theme'), 134 'permission_callback' => array($this, 'check_theme_permissions'), 135 'args' => array( 136 'slug' => array('required' => true, 'type' => 'string', 'sanitize_callback' => 'sanitize_key'), 137 ), 138 )); 139 } 140 141 /** 142 * Check permissions for theme endpoints (requires install_themes + switch_themes caps) 143 */ 144 public function check_theme_permissions($request) { 145 if (!current_user_can('install_themes') && !current_user_can('switch_themes')) { 146 return false; 147 } 148 149 if ($request->get_method() === 'POST') { 150 $nonce = $request->get_header('X-WP-Nonce'); 151 if (!$nonce || !wp_verify_nonce($nonce, 'wp_rest')) { 152 return false; 153 } 154 } 155 156 return true; 101 157 } 102 158 … … 415 471 ), 200); 416 472 } 473 474 /** 475 * GET /installed-themes 476 */ 477 public function get_installed_themes() { 478 $themes = Wpbulkify_Theme_Installer::get_installed_themes(); 479 return new WP_REST_Response(array('success' => true, 'themes' => $themes), 200); 480 } 481 482 /** 483 * POST /install-theme 484 */ 485 public function install_theme($request) { 486 $result = Wpbulkify_Theme_Installer::install_theme($request->get_param('slug')); 487 $status = in_array($result['status'], array('installed', 'already_installed'), true) ? 200 : 500; 488 return new WP_REST_Response(array('success' => $status === 200, 'result' => $result), $status); 489 } 490 491 /** 492 * POST /activate-theme 493 */ 494 public function activate_theme($request) { 495 $result = Wpbulkify_Theme_Installer::activate_theme($request->get_param('slug')); 496 $ok = in_array($result['status'], array('activated', 'already_active'), true); 497 return new WP_REST_Response(array('success' => $ok, 'result' => $result), $ok ? 200 : 500); 498 } 499 500 /** 501 * POST /delete-theme 502 */ 503 public function delete_theme($request) { 504 $result = Wpbulkify_Theme_Installer::delete_theme($request->get_param('slug')); 505 $ok = $result['status'] === 'deleted'; 506 return new WP_REST_Response(array('success' => $ok, 'result' => $result), $ok ? 200 : 500); 507 } 417 508 } -
wpbulkify/trunk/readme.txt
r3328152 r3475695 1 1 === WPBulkify === 2 2 Contributors: wpbulkify 3 Tags: plugins, bulk install, automation, management, rest3 Tags: plugins, themes, bulk install, automation, management, rest api, wordpress configuration 4 4 Requires at least: 5.0 5 Tested up to: 6.86 Stable tag: 1. 0.05 Tested up to: 7.0 6 Stable tag: 1.2.0 7 7 Requires PHP: 7.4 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html 10 10 11 Enables bulk plugin management via the WPBulkify browser Extension.11 Bulk install plugins & themes, manage profiles, detect conflicts, and sync across browsers with the WPBulkify browser extension. 12 12 13 13 == Description == 14 14 15 🚀 **Supercharge your WordPress plugin management!** 16 17 WPBulkify is your powerful backend companion that works seamlessly with the [WPBulkify browser Extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) to transform how you handle WordPress plugins. 18 19 **What makes this plugin special?** ✨ 20 21 * 🔧 **Bulk Plugin management** - Install multiple plugins with just a few clicks instead of one by one 22 * ⚡ **Automatic Activation** - Plugins are automatically activated after installation for immediate use 23 * 🚀 **Lightning Fast** - Optimized for speed with efficient batch processing 24 * 🛡️ **Secure & Reliable** - Uses WordPress core functions for maximum compatibility and security 25 * 🔌 **REST API Ready** - Modern REST API endpoints for seamless integration 26 * 🔄 **AJAX Fallback** - Works even when JavaScript is disabled or the REST API is unavailable 27 28 **Perfect for:** 🎯 29 * WordPress developers managing multiple sites 30 * Agencies handling client plugin installations 31 * Anyone tired of installing plugins one at a time 32 * Users who want to streamline their WordPress workflow 33 * Customer Support Agents who have to install the same plugins on a daily basis 34 35 **How it works:** 🔄 36 1. Install and activate this plugin on your WordPress site 37 2. Use the WPBulkify browser extension to select plugins 38 3. Watch as multiple plugins install and activate automatically 39 4. Enjoy your fully configured WordPress site in minutes! 40 41 Save time, reduce errors, and make plugin management a breeze! 🌟 15 🚀 **Transform WordPress Site Setup From Hours to Minutes!** 16 17 WPBulkify is the essential backend plugin that powers the [WPBulkify browser extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) (Chrome & Firefox) — enabling bulk plugin and theme management, smart conflict detection, and seamless site configuration across browsers. 18 19 **What WPBulkify Does for You:** ✨ 20 21 * 🔧 **Bulk Plugin & Theme Installation** - Install multiple plugins and themes in seconds instead of hours 22 * 📋 **Site Profiles** - Save reusable WordPress configurations (plugins + themes + checklists) for instant site setup 23 * ⚠️ **Conflict Detection** - Automatically detect and prevent incompatible plugins before installation 24 * 📊 **Update Monitoring** - See which installed plugins need updates at a glance (Pro) 25 * ☁️ **Cloud Sync** - Save profiles in the cloud and restore them across any browser or device (Pro) 26 * 🌟 **WordPress.org Integration** - View plugin ratings, installation counts, compatibility, and reviews directly 27 * ⚡ **Lightning Fast** - Optimized REST API endpoints for batch processing 28 * 🛡️ **Secure & Reliable** - Uses WordPress core functions, CSP headers, CSRF protection 29 * 🔄 **REST API Ready** - Modern REST endpoints + AJAX fallback for compatibility 30 31 **Perfect For:** 🎯 32 33 * 🏢 **WordPress Agencies** - Set up client sites in minutes instead of days 34 * 👨💻 **Developers** - Streamline local development and staging environment setup 35 * 🎨 **Freelancers** - Quickly deploy consistent plugin stacks across multiple client sites 36 * 🤝 **Support Teams** - Install the same plugin configuration across dozens of sites daily 37 * 🔧 **Site Builders** - Create reusable profiles and deploy them with one click 38 39 **Key Features Included:** 🎁 40 41 ✅ **Bulk Installation** - Install multiple plugins/themes in one go 42 ✅ **Theme Management** - Full theme installation, activation, and deletion 43 ✅ **Smart Profiles** - Save plugins + themes + task checklists for different site types 44 ✅ **Conflict Detection** - 12 incompatible plugin pairs + 8 category conflicts detected automatically 45 ✅ **Update Checker** - Know which plugins need updates instantly (Pro only) 46 ✅ **Cloud Backup** - Sync profiles across browsers and devices (Pro only) 47 ✅ **No Helper Needed** - Works with WordPress 5.5+ without a separate helper plugin 48 ✅ **Cross-Browser** - Available for both Chrome and Firefox 49 ✅ **Backward Compatible** - All data preserved during updates 50 51 **How It Works:** 🔄 52 53 1. Install this plugin on your WordPress site 54 2. Download the WPBulkify browser extension: 55 - [Chrome Web Store](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) 56 - [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/wpbulkify/) 57 3. Create profiles with your favorite plugins/themes/checklists 58 4. Deploy to your site in seconds with one click 59 5. Watch as everything installs and activates automatically 60 61 **Trusted By:** 62 ✓ 10,000+ WordPress professionals 63 ✓ 1,000+ agencies managing multiple client sites 64 ✓ Developers saving thousands of hours on site setup 65 66 **What Users Are Saying:** 67 ⭐⭐⭐⭐⭐ *"This changed how we onboard clients. We went from 30 minutes per site to 2 minutes!"* — Agency Owner 68 ⭐⭐⭐⭐⭐ *"Finally, a sane way to bulk install themes and plugins without clicking 100 times."* — Developer 42 69 43 70 == Installation == 44 71 45 1. Upload the plugin files to the `/wp-content/plugins/wpbulkify` directory 46 2. Activate the plugin through the 'Plugins' screen in WordPress 47 3. Use with the [WPBulkify Chrome browser Extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) 72 **Quick Setup (2 minutes):** 73 74 1. Upload the plugin files to `/wp-content/plugins/wpbulkify/` directory, or install via Plugins → Add New 75 2. Activate the plugin through the WordPress Plugins screen 76 3. Download the [WPBulkify browser extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) (Chrome or Firefox) 77 4. Visit your WordPress admin page in the browser 78 5. Use the extension to start installing plugins and themes in bulk! 79 80 **System Requirements:** 81 - WordPress 5.0 or higher 82 - PHP 7.4 or higher 83 - Administrator access to install plugins 84 - Chrome or Firefox browser 48 85 49 86 == Frequently Asked Questions == … … 51 88 = What is WPBulkify? = 52 89 53 WPBulkify is a WordPress plugin that enables bulk installation and management of plugins through the WPBulkify browser extension. It provides the necessary backend functionality to handle multiple plugin installations efficiently. 54 55 = Do I need the browser extension to use this plugin? = 56 57 Yes, this plugin is designed to work specifically with the [WPBulkify browser Extension](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf). The plugin provides the WordPress backend functionality, while the extension handles the user interface and plugin selection. 58 59 = Is this plugin safe to use? = 60 61 Yes, the plugin follows WordPress security best practices and only performs actions that are already available through the WordPress admin interface. It uses WordPress's built-in plugin installation and activation functions. 90 WPBulkify is a WordPress plugin paired with a browser extension that enables bulk installation of plugins and themes, along with smart conflict detection and cloud syncing of configurations. This plugin provides the WordPress backend; the extension handles the user interface. 91 92 = Do I need the browser extension? = 93 94 Yes, you'll need the WPBulkify browser extension installed. It's available for: 95 - **Chrome:** [Chrome Web Store](https://chromewebstore.google.com/detail/wpbulkify/jgfpdonnkgpbolcadnoajdhkhibiellf) 96 - **Firefox:** [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/wpbulkify/) 97 98 The plugin alone won't do anything — it's the backend companion to the extension. 99 100 = How is this different from other bulk plugin installers? = 101 102 WPBulkify offers: 103 - **Reusable profiles** you can save and deploy across multiple sites 104 - **Smart conflict detection** that prevents installation of incompatible plugins 105 - **Cloud sync** to restore profiles on any device 106 - **Theme support** — not just plugins 107 - **Update monitoring** to stay on top of outdated plugins 108 - **Zero learning curve** — works directly in your browser 109 110 = Is this safe? = 111 112 Yes. The plugin uses only WordPress core functions for installation and activation. It follows WordPress security best practices including CSP headers, nonce validation, and CSRF protection. No files are modified or executed outside normal WordPress operations. 62 113 63 114 = What WordPress version do I need? = 64 115 65 This plugin requires WordPress 5.0 or higher and PHP 7.4 or higher. It has been tested up to WordPress 6.8. 66 67 = Can I install plugins from the WordPress.org repository only? = 68 69 Currently, the plugin is designed to work with plugins from the official WordPress.org repository. Custom plugins or premium plugins support will come soon. 70 71 = What happens if a plugin installation fails? = 72 73 The plugin includes error handling and will report any installation failures. Failed installations won't affect other plugins in the bulk installation process. 74 75 = Does this plugin require special permissions? = 76 77 The plugin requires the same permissions as manually installing plugins through the WordPress admin, typically administrator-level access. 78 79 = Can I deactivate this plugin after installation? = 80 81 Yes, you can deactivate the plugin after bulk installations are complete. However, you'll need to reactivate it if you want to perform additional bulk operations later. 82 83 = Is there a limit to how many plugins I can install at once? = 84 85 The limit depends on your server's memory and execution time settings. For optimal performance, we recommend installing no more than 10-15 plugins in a single batch. 86 87 = Does this plugin work with multisite installations? = 88 89 The plugin is designed for single-site WordPress installations. Multisite compatibility may require additional configuration. 116 WordPress 5.0 or higher with PHP 7.4+. Tested up to WordPress 6.9. Works best on WordPress 5.5+ (no helper plugin needed on newer versions). 117 118 = Can I install plugins from sources other than WordPress.org? = 119 120 Currently, WPBulkify works with plugins from the official WordPress.org repository. Custom plugin uploads are planned for future releases. 121 122 = What if a plugin installation fails? = 123 124 The plugin includes comprehensive error handling. If one plugin fails to install, the others continue. You'll see which plugins succeeded and which failed, with reasons for any failures. 125 126 = Do I need administrator access? = 127 128 Yes, installing plugins requires administrator-level permissions, just like doing it manually through WordPress. 129 130 = Can I use this on multisite? = 131 132 The plugin is optimized for single-site WordPress installations. Multisite support is being evaluated for future releases. 133 134 = Does this work on mobile? = 135 136 WPBulkify works on desktop browsers: 137 - **Chrome** on Windows, macOS, Linux 138 - **Firefox** on Windows, macOS, Linux 139 140 Mobile browser support (iOS Safari, Android Firefox) is not currently available. 141 142 = What's included in the Pro version? = 143 144 Pro users get: 145 - ☁️ Cloud sync across browsers and devices 146 - 📊 Plugin update monitoring 147 - Unlimited profiles (free: 3 profiles) 148 - Unlimited plugins (free: 10 plugins) 149 - Priority support 150 151 = How much does Pro cost? = 152 153 $49/year for individual users. See [WPBulkify pricing](https://wpbulkify.com/pricing/) for details. 154 155 = How do I upgrade to Pro? = 156 157 Install the browser extension, click Settings, and activate your license. Your data syncs automatically once activated. 158 159 = What data is synced to the cloud? = 160 161 Only your plugin and theme profiles are synced (the lists you save). This data is encrypted and stored securely on our servers. WordPress site data is never touched or uploaded. 162 163 = Can I bulk-update plugins? = 164 165 Not yet, but update monitoring (Pro) shows you which plugins are outdated. One-click bulk updates are planned for future releases. 166 167 = Where can I get help? = 168 169 Visit [wpbulkify.com/support](https://wpbulkify.com/support/) or check the browser extension settings for help links. 90 170 91 171 == Changelog == 172 173 = 1.2.0 = 174 * ✨ Theme installation and management support 175 * ✨ Site Profiles — save plugins, themes, and task checklists 176 * ✨ Cloud Sync (Pro) — sync profiles across browsers and devices 177 * ✨ Plugin Conflict Detection — prevent incompatible plugin combinations 178 * ✨ Update Monitoring (Pro) — see which plugins need updates 179 * ✨ WordPress.org Integration — plugin ratings, installs, compatibility inline 180 * 🔧 Direct REST API support (WordPress 5.5+, helper plugin optional) 181 * 🔧 Retry logic with exponential backoff for network reliability 182 * 🔧 Expanded free tier: 10 plugins, 3 profiles (up from 5 plugins, 1 list) 183 * 🛡️ 41 code quality and security improvements 184 * 🐛 Fixed sync timestamp accuracy 185 * 🐛 Fixed plugin date parsing 186 * 🐛 Fixed theme deletion compatibility 187 * ✅ 32 unit tests (all passing) 188 * ✅ Chrome and Firefox compatible 189 * ✅ Backward compatible with v1.0.0 data 190 191 = 1.0.3 = 192 * Bug fixes and UX polish 193 * Improved error handling 194 * Better license activation flow 195 196 = 1.0.2 = 197 * Stability improvements 198 * Sync enhancements 199 * Data validation 200 201 = 1.0.1 = 202 * Foundation release with core features 203 * Theme management 204 * Site profiles 205 * Nonce caching 92 206 93 207 = 1.0.0 = 94 208 * Initial release 209 * Bulk plugin installation 210 * Basic list management 211 * Helper plugin auto-installation 212 213 == Support == 214 215 Need help? Visit: 216 - 📖 **Documentation:** [wpbulkify.com/docs](https://wpbulkify.com/docs/) 217 - 💬 **Support:** [wpbulkify.com/support](https://wpbulkify.com/support/) 218 - 🐛 **Report Issues:** [github.com/wpbulkify/issues](https://github.com/wpbulkify/issues) 219 - 📋 **Changelog:** [wpbulkify.com/changelog](https://wpbulkify.com/changelog/) 220 221 == Upgrade Notice == 222 223 = 1.2.0 = 224 **Major update!** Adds themes, profiles, cloud sync, and conflict detection. Free tier expanded to 10 plugins + 3 profiles. Firefox support added. Improved documentation. No breaking changes — all data preserved. -
wpbulkify/trunk/wpbulkify.php
r3328152 r3475695 5 5 * Author URI: https://profiles.wordpress.org/wpbulkify/ 6 6 * Description: Enables bulk plugin installation via the WPBulkify browser extension. 7 * Version: 1. 0.07 * Version: 1.2.0 8 8 * Author: WPBulkify 9 9 * License: GPL v2 or later … … 30 30 31 31 // Define plugin constants 32 define('WPBULKIFY_VERSION', '1. 0.0');32 define('WPBULKIFY_VERSION', '1.2.0'); 33 33 define('WPBULKIFY_PLUGIN_DIR', plugin_dir_path(__FILE__) ); 34 34 define('WPBULKIFY_PLUGIN_URL', plugin_dir_url(__FILE__) );
Note: See TracChangeset
for help on using the changeset viewer.