absint(get_option('avp_cookie_duration', 30)), 'redirectUrl' => esc_url(get_option('avp_redirect_url', 'https://google.com')), 'minAge' => $min_age, 'errorSelectDate' => __('Please select your date of birth.', 'advanced-age-verification-popup'), 'errorUnderage' => sprintf(__('You must be %d or older to enter.', 'advanced-age-verification-popup'), $min_age) ); wp_localize_script('avp-script', 'avpData', apply_filters('avp_frontend_data', $frontend_data)); $bg_color = sanitize_hex_color(get_option('avp_color_popup_bg', '#1a1b20')); $primary_color = sanitize_hex_color(get_option('avp_color_primary', '#10b981')); $text_color = sanitize_hex_color(get_option('avp_color_text', '#ffffff')); $muted_color = sanitize_hex_color(get_option('avp_color_text_muted', '#9ca3af')); $custom_css = " :root { --avp-bg-popup: {$bg_color}; --avp-primary: {$primary_color}; --avp-text-main: {$text_color}; --avp-text-muted: {$muted_color}; } #avp-overlay { position: fixed !important; top: 0 !important; left: 0 !important; width: 100vw !important; height: 100vh !important; padding: 15px !important; box-sizing: border-box !important; z-index: 2147483647 !important; background-color: rgba(15, 23, 42, 0.95) !important; pointer-events: auto !important; isolation: isolate !important; } #avp-popup, #avp-popup * { pointer-events: auto !important; } #avp-popup { max-height: 85vh !important; overflow-y: auto !important; -webkit-overflow-scrolling: touch !important; border-radius: 12px !important; width: 100% !important; margin: auto !important; } #avp-popup::-webkit-scrollbar { width: 5px; } #avp-popup::-webkit-scrollbar-track { background: transparent; } #avp-popup::-webkit-scrollbar-thumb { background: var(--avp-primary); border-radius: 10px; } .avp-popup-inner { box-sizing: border-box !important; max-width: 100% !important; width: 100% !important; padding-bottom: 15px !important; } .avp-dob-wrapper, .avp-input-group, .avp-btn-block { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; } .avp-input-group .avp-input, #avp-dob { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; -webkit-appearance: none !important; appearance: none !important; font-size: 16px !important; margin: 0 !important; } /* Fixes the calendar opening behind the overlay */ .flatpickr-calendar { z-index: 2147483647 !important; } "; wp_add_inline_style('avp-style', $custom_css); } add_action('admin_enqueue_scripts', 'avp_admin_scripts'); function avp_admin_scripts($hook) { if ($hook != 'toplevel_page_age-verification') { return; } wp_enqueue_media(); wp_enqueue_style('wp-color-picker'); wp_enqueue_script('wp-color-picker'); // NEW: Enqueue custom AJAX scripts and styles wp_enqueue_style('avp-admin-ajax', plugin_dir_url(__FILE__) . 'assets/css/admin-ajax.css', array(), AVP_FREE_VERSION); wp_enqueue_script('avp-admin-ajax', plugin_dir_url(__FILE__) . 'assets/js/admin-ajax.js', array('jquery'), AVP_FREE_VERSION, true); // Pass AJAX URL and Nonce to JavaScript wp_localize_script('avp-admin-ajax', 'avpAjaxData', array( 'ajaxurl' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('avp_save_settings_nonce') )); } // Add Popup HTML add_action('wp_footer', 'avp_add_popup'); function avp_add_popup() { if ( get_option('avp_bypass_logged_in', '1') && is_user_logged_in() ) return; if ( get_option('avp_bypass_crawlers', '1') && avp_is_crawler() ) return; $logo = esc_url(get_option('avp_logo', '')); $title = esc_html(get_option('avp_title', __('Please verify your age', 'advanced-age-verification-popup'))); $subtitle = esc_html(get_option('avp_subtitle', __('You must be of legal age to enter this site.', 'advanced-age-verification-popup'))); $warning = esc_html(get_option('avp_warning_text', __('WARNING: This website contains age-restricted content.', 'advanced-age-verification-popup'))); $enter_text = esc_html(get_option('avp_enter_text', __('I am 18 or older', 'advanced-age-verification-popup'))); $exit_text = esc_html(get_option('avp_exit_text', __('I am under 18', 'advanced-age-verification-popup'))); $method = sanitize_text_field(get_option('avp_verification_method', 'yesno')); $show_remember = get_option('avp_show_remember_me', '1'); ?>
Configure compliance settings, verification rules, and visual aesthetics.