| @@ -231,37 +231,8 @@ | ||
| 231 | 231 | 'seo_score_threshold' => 70, |
| 232 | 232 | 'enable_meta_generation' => true, |
| 233 | 233 | 'enable_schema_markup' => true, |
| 234 | 234 | |
| 235 | - // Auto AI Optimization (on-publish metadata fill; #248 P1) | |
| 236 | - 'auto_ai_meta_enabled' => false, | |
| 237 | - 'auto_ai_meta_post_types' => ['post'], | |
| 238 | - | |
| 239 | - // Brand Visibility v2. The brand profile drives question generation | |
| 240 | - // and mention detection; per-platform keys let this feature query | |
| 241 | - // several assistants without changing the site-wide AI provider. | |
| 242 | - 'bv_brand_name' => '', | |
| 243 | - 'bv_variants' => [], | |
| 244 | - 'bv_location' => '', | |
| 245 | - 'bv_category' => '', | |
| 246 | - 'bv_description' => '', | |
| 247 | - 'bv_competitors' => [], | |
| 248 | - 'bv_queries' => [], | |
| 249 | - 'bv_platforms' => ['chatgpt'], | |
| 250 | - 'bv_samples' => 1, | |
| 251 | - 'bv_key_chatgpt' => '', | |
| 252 | - 'bv_key_gemini' => '', | |
| 253 | - 'bv_key_claude' => '', | |
| 254 | - 'bv_key_perplexity' => '', | |
| 255 | - // Empty = use the platform's default model (see Brand_Visibility_Providers). | |
| 256 | - 'bv_model_chatgpt' => '', | |
| 257 | - 'bv_model_gemini' => '', | |
| 258 | - 'bv_model_claude' => '', | |
| 259 | - 'bv_model_perplexity' => '', | |
| 260 | - | |
| 261 | - // AI Brand Visibility (BYO-key checks; #248 P1) | |
| 262 | - 'brand_visibility_queries' => [], | |
| 263 | - | |
| 264 | 235 | // Author Archives Settings |
| 265 | 236 | 'author_archives_enabled' => true, |
| 266 | 237 | 'author_archives_index' => true, |
| 267 | 238 | 'author_archives_show_empty' => false, |
| @@ -296,16 +267,8 @@ | ||
| 296 | 267 | // Integration Settings |
| 297 | 268 | 'google_analytics_id' => '', |
| 298 | 269 | 'search_console_property' => '', |
| 299 | 270 | |
| 300 | - // GA4 Tracking Settings | |
| 301 | - 'ga4_measurement_id' => '', | |
| 302 | - 'ga4_auto_inject' => false, | |
| 303 | - 'ga4_anonymize_ip' => false, | |
| 304 | - 'ga4_exclude_admin' => false, | |
| 305 | - 'ga4_tracking_verified' => false, | |
| 306 | - 'ga4_last_verification' => '', | |
| 307 | - | |
| 308 | 271 | // SEO Analytics Settings |
| 309 | 272 | 'seo_analytics_enabled' => false, |
| 310 | 273 | 'seo_analytics_setup_completed' => false, |
| 311 | 274 | 'seo_analytics_google_analytics_property_id' => '', |
| @@ -879,15 +842,13 @@ | ||
| 879 | 842 | case 'seo_analytics_report_schedule': |
| 880 | 843 | return sanitize_text_field($value); |
| 881 | 844 | |
| 882 | 845 | case 'robots_txt_content': |
| 883 | - case 'bv_description': | |
| 884 | 846 | // Multi-line content — sanitize_text_field() collapses newlines |
| 885 | 847 | // and would flatten the whole file onto a single line. set() |
| 886 | 848 | // routes every write through here, so a caller that chose |
| 887 | - // sanitize_textarea_field() itself (Brand_Visibility_Endpoint | |
| 888 | - // does, for bv_description) is otherwise silently overridden | |
| 889 | - // by the default: arm below (#587). | |
| 849 | + // sanitize_textarea_field() itself is otherwise silently | |
| 850 | + // overridden by the default: arm below (#587). | |
| 890 | 851 | return sanitize_textarea_field($value); |
| 891 | 852 | |
| 892 | 853 | default: |
| 893 | 854 | if (is_bool($value)) { |
| @@ -896,12 +857,11 @@ | ||
| 896 | 857 | return sanitize_text_field($value); |
| 897 | 858 | } elseif (is_array($value)) { |
| 898 | 859 | // Recurse rather than drop. Skipping nested members was |
| 899 | 860 | // harmless while this ran only on the register_setting() |
| 900 | - // path, but set() now routes every write through here and | |
| 901 | - // structured settings — bv_competitors is a list of | |
| 902 | - // ['name','url'] maps, bv_queries a list of ['text','type'] | |
| 903 | - // — were being silently emptied on save. | |
| 861 | + // path, but set() now routes every write through here, and | |
| 862 | + // structured settings (lists of maps) were being silently | |
| 863 | + // emptied on save. | |
| 904 | 864 | return $this->sanitize_array_recursive($value); |
| 905 | 865 | } |
| 906 | 866 | return $value; |
| 907 | 867 | } |