| @@ -63,8 +63,11 @@ | ||
| 63 | 63 | |
| 64 | 64 | // Initialize review and enquiry hooks |
| 65 | 65 | \Yatra\Hooks\ReviewHooks::init(); |
| 66 | 66 | |
| 67 | + // Load the reCAPTCHA v3 script on the frontend when enabled (self-guards). | |
| 68 | + add_action('wp_enqueue_scripts', ['\\Yatra\\Services\\RecaptchaService', 'enqueueScript']); | |
| 69 | + | |
| 67 | 70 | // Garbage-collect deleted-trip IDs out of user wishlist meta. |
| 68 | 71 | \Yatra\Hooks\SavedTripHooks::init(); |
| 69 | 72 | |
| 70 | 73 | // Initialize REST API hooks |
| @@ -83,8 +86,13 @@ | ||
| 83 | 86 | \Yatra\Hooks\AvailabilityInventoryHooks::init(); |
| 84 | 87 | |
| 85 | 88 | // Initialize cache hooks |
| 86 | 89 | \Yatra\Hooks\CacheHooks::init(); |
| 90 | + | |
| 91 | + // Publish Yatra trips/destinations/activities/categories to sitemaps | |
| 92 | + // (WP core, Yoast, Rank Math, AIOSEO) — Yatra content lives in custom | |
| 93 | + // tables, so no SEO generator can discover it without this. | |
| 94 | + \Yatra\Sitemap\SitemapManager::init(); | |
| 87 | 95 | |
| 88 | 96 | add_filter('yatra_require_email_verification', static function (): bool { |
| 89 | 97 | return \Yatra\Services\SettingsService::isEnabled('require_email_verification'); |
| 90 | 98 | }); |