PluginProbe
Search Atlas SEO – OTTO AI SEO Automation for WordPress / 2.7.2
Search Atlas SEO – OTTO AI SEO Automation for WordPress v2.7.2
2.7.1 2.7.2 2.7.0 2.6.26 2.6.25 2.6.24 2.6.23 2.6.22 2.6.21 2.6.20 2.6.19 2.6.18 2.6.17 2.6.16 2.6.15 2.6.14 2.6.13 2.6.12 2.6.11 2.6.10 2.6.9 2.6.8 2.6.7 2.6.6 2.6.5 All 141 releases
← All changes | includes/class-metasync-setup-wizard.php +29 -9 2.6.8 → 2.7.2 View file →
@@ -91,9 +91,9 @@
91 91 public function render_wizard_page()
92 92 {
93 93 // Check user has access
94 94 if (!Metasync::current_user_has_plugin_access()) {
95 - wp_die(__('You do not have sufficient permissions to access this page.'));
95 + wp_die(esc_html__('You do not have sufficient permissions to access this page.', 'metasync'));
96 96 }
97 97
98 98 // Get current wizard state
99 99 $user_id = get_current_user_id();
@@ -207,8 +207,9 @@
207 207 {
208 208 $plugin_name = Metasync::get_effective_plugin_name();
209 209 $general_settings = Metasync::get_option('general');
210 210 $is_connected = !empty($general_settings['searchatlas_api_key']);
211 + $analytics_enabled = get_option('metasync_analytics_opt_in', 'no') === 'yes';
211 212 ?>
212 213 <div class="wizard-step wizard-step-connection" data-step="2">
213 214 <div class="wizard-step-header">
214 215 <h2>Connect to <?php echo esc_html($plugin_name); ?></h2>
@@ -235,19 +236,38 @@
235 236 <h3>Successfully Connected!</h3>
236 237 <p>Your site is linked to <?php echo esc_html($plugin_name); ?>.</p>
237 238 </div>
238 239 <?php endif; ?>
240 +
241 + <div class="wizard-consent-card">
242 + <div class="wizard-consent-icon"><span class="dashicons dashicons-chart-bar"></span></div>
243 + <div class="wizard-consent-copy">
244 + <span class="wizard-consent-eyebrow">Optional</span>
245 + <h3>Help improve <?php echo esc_html($plugin_name); ?></h3>
246 + <p>Share limited usage data so we can understand which features are useful, prioritize improvements, and troubleshoot plugin issues.</p>
247 + <ul>
248 + <li>Includes your site URL, plugin version, WordPress environment, and feature usage</li>
249 + <li>Never includes names, emails, customer content, API keys, or passwords</li>
250 + </ul>
251 + <p class="wizard-consent-note">You can change this at any time in General Settings.</p>
252 + </div>
253 + <label class="wizard-consent-switch" for="wizard-analytics-consent">
254 + <input type="checkbox" id="wizard-analytics-consent" <?php checked($analytics_enabled); ?>>
255 + <span class="wizard-consent-slider" aria-hidden="true"></span>
256 + <span class="wizard-consent-state"><?php echo $analytics_enabled ? 'On' : 'Off'; ?></span>
257 + </label>
258 + </div>
239 259 </div>
240 260 </div>
241 - <?php
242 - }
261 + <?php
262 + }
243 263
244 - /**
245 - * Render Step 3: Plugin Import
246 - *
247 - * @since 1.0.0
248 - */
249 - public function render_step_import()
264 + /**
265 + * Render Step 3: Plugin Import
266 + *
267 + * @since 1.0.0
268 + */
269 + public function render_step_import()
250 270 {
251 271 $installed_plugins = $this->detect_seo_plugins();
252 272 ?>
253 273 <div class="wizard-step wizard-step-import" data-step="3">