register(); } public function renderTurnstileWidget($data = []) { $settings = ModuleSettings::getSettings('turnstile'); $enableTurnstile = Arr::get($settings, 'active', 'no'); $siteKey = Arr::get($settings, 'site_key', ''); $isActive = ($enableTurnstile === 'yes' && !empty($siteKey)); ?>
isCheckoutContext()) { wp_enqueue_script( 'cloudflare-turnstile', 'https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit', [], null, true ); } } } public function localizeTurnstileData($data) { $settings = ModuleSettings::getSettings('turnstile'); if (isset($data['fluentcart_checkout_vars'])) { $data['fluentcart_checkout_vars']['turnstile'] = [ 'enabled' => Arr::get($settings, 'active', 'no') === 'yes', 'site_key' => Arr::get($settings, 'site_key', '') ]; } return $data; } /** * Inject widget via wp_footer as last resort * This should ALWAYS work since wp_footer fires on every page */ public function injectWidgetViaFooter() { if ($this->isCheckoutContext()) { $widgetHtml = $this->getWidgetHtml(); ?> post_content, 'fluent_cart_checkout')) { return true; } } return false; } /** * Get widget HTML as string */ private function getWidgetHtml() { $settings = ModuleSettings::getSettings('turnstile'); $enableTurnstile = Arr::get($settings, 'active', 'no'); $siteKey = Arr::get($settings, 'site_key', ''); $isActive = ($enableTurnstile === 'yes' && !empty($siteKey)); $html = ''; return $html; } }