| @@ -13,8 +13,13 @@ | ||
| 13 | 13 | declare(strict_types=1); |
| 14 | 14 | |
| 15 | 15 | namespace ThinkRank\Config; |
| 16 | 16 | |
| 17 | +// Prevent direct access | |
| 18 | +if (!defined('ABSPATH')) { | |
| 19 | + exit; | |
| 20 | +} | |
| 21 | + | |
| 17 | 22 | /** |
| 18 | 23 | * Schema Settings Configuration Class |
| 19 | 24 | * |
| 20 | 25 | * Provides centralized schema settings configuration for both frontend and backend. |
| @@ -57,8 +62,11 @@ | ||
| 57 | 62 | 'organization_social_twitter' => '', |
| 58 | 63 | 'organization_social_linkedin' => '', |
| 59 | 64 | 'organization_social_instagram' => '', |
| 60 | 65 | 'organization_social_youtube' => '', |
| 66 | + 'organization_social_pinterest' => '', | |
| 67 | + 'organization_social_whatsapp' => '', | |
| 68 | + 'organization_social_telegram' => '', | |
| 61 | 69 | 'organization_contact_type' => 'customer service', |
| 62 | 70 | 'organization_contact_phone' => '', |
| 63 | 71 | 'organization_contact_email' => '', |
| 64 | 72 | 'organization_contact_hours' => '', |
| @@ -95,9 +103,9 @@ | ||
| 95 | 103 | 'person_address' => '', |
| 96 | 104 | 'person_birth_date' => '', |
| 97 | 105 | 'person_nationality' => '', |
| 98 | 106 | 'person_works_for' => '', |
| 99 | - 'person_same_as' => array(), | |
| 107 | + 'person_same_as' => [], | |
| 100 | 108 | |
| 101 | 109 | // Removed FAQPage schema settings (now handled at post/page level) |
| 102 | 110 | ]; |
| 103 | 111 | |
| @@ -111,9 +119,9 @@ | ||
| 111 | 119 | $defaults['enabled_schema_types'] = ['Article', 'Person']; |
| 112 | 120 | $defaults['validation_level'] = 'strict'; |
| 113 | 121 | break; |
| 114 | 122 | case 'page': |
| 115 | - $defaults['enabled_schema_types'] = ['Article', 'FAQ']; | |
| 123 | + $defaults['enabled_schema_types'] = ['Article', 'FAQPage']; | |
| 116 | 124 | $defaults['rich_snippets_optimization'] = true; |
| 117 | 125 | break; |
| 118 | 126 | case 'product': |
| 119 | 127 | $defaults['enabled_schema_types'] = ['Product']; |
| @@ -205,9 +213,9 @@ | ||
| 205 | 213 | public static function get_supported_schema_types(string $context_type = 'site'): array { |
| 206 | 214 | $all_types = [ |
| 207 | 215 | 'Article', 'Product', 'Organization', 'LocalBusiness', |
| 208 | 216 | 'Person', 'WebSite', 'FAQPage', 'SoftwareApplication', |
| 209 | - 'Event', 'HowTo' | |
| 217 | + 'Event', 'HowTo', 'Review', 'VideoObject' | |
| 210 | 218 | ]; |
| 211 | 219 | |
| 212 | 220 | // Context-specific filtering can be added here if needed |
| 213 | 221 | return $all_types; |