Advanced Preloader Settings

Enable Preloader'; } function advanced_preloader_type_field() { $options = get_option('advanced_preloader_general'); $type = isset($options['type']) ? $options['type'] : 'image'; echo ''; } function advanced_preloader_image_field() { $options = get_option('advanced_preloader_general', []); $image_id = isset($options['image']) ? $options['image'] : ''; $image_url = !empty($image_id) ? wp_get_attachment_url($image_id) : ''; echo ' '; echo ' '; echo '
'; if (!empty($image_url)) { echo ''; } echo '
'; } function advanced_preloader_text_field() { $options = get_option('advanced_preloader_general'); $text = isset($options['text']) ? $options['text'] : "Loading..."; echo ''; echo '

HTML tags are allowed. Add multiple lines for random display.

'; } function advanced_preloader_text_display_mode_field() { $options = get_option('advanced_preloader_general'); $mode = isset($options['text_display_mode']) ? $options['text_display_mode'] : 'full'; echo ''; } function advanced_preloader_layout_order_field() { $options = get_option('advanced_preloader_general', []); $layout_order = isset($options['layout_order']) ? $options['layout_order'] : 'image-over-text'; echo '
'; echo ''; echo '
'; } function advanced_preloader_bg_color_field() { $options = get_option('advanced_preloader_design'); $color = isset($options['bg_color']) ? $options['bg_color'] : '#ffffff'; echo ''; } function advanced_preloader_text_color_field() { $options = get_option('advanced_preloader_design'); $color = isset($options['text_color']) ? $options['text_color'] : '#000000'; echo ''; } function advanced_preloader_animation_speed_field() { $options = get_option('advanced_preloader_animation'); $speed = isset($options['animation_speed']) ? $options['animation_speed'] : '1s'; echo ''; } function advanced_preloader_delay_time_field() { $options = get_option('advanced_preloader_animation'); $delay = isset($options['delay_time']) ? $options['delay_time'] : '0s'; echo ''; } function advanced_preloader_display() { // Get all options in single calls $general = get_option('advanced_preloader_general', []); $design = get_option('advanced_preloader_design', []); $animation = get_option('advanced_preloader_animation', []); // Check if preloader is enabled and we're not on AMP if (!isset($general['enabled']) || $general['enabled'] !== '1' || function_exists('is_amp_endpoint') && is_amp_endpoint()) { return; } // Validate and sanitize values $preloader_type = in_array($general['type'] ?? 'image', ['image', 'text', 'both']) ? $general['type'] : 'image'; $layout_order = in_array($general['layout_order'] ?? 'image-over-text', [ 'image-over-text', 'image-left-text', 'image-right-text', 'image-below-text' ]) ? $general['layout_order'] : 'image-over-text'; // Prepare preloader content $output = '
'; // Image output if (($preloader_type === 'image' || $preloader_type === 'both') && !empty($general['image'])) { $image_id = $general['image']; $image_url = !empty($image_id) ? wp_get_attachment_url($image_id) : ''; $output .= '' . esc_attr__('Loading...', 'advanced-preloader') . ''; } // Text output if (($preloader_type === 'text' || $preloader_type === 'both') && !empty($general['text'])) { $text_content = wp_kses_post($general['text']); $display_mode = in_array($general['text_display_mode'] ?? 'full', ['full', 'random']) ? $general['text_display_mode'] : 'full'; if ($display_mode === 'random') { $lines = array_filter(array_map('trim', explode("\n", $text_content))); $text_content = !empty($lines) ? $lines[array_rand($lines)] : __('Loading...', 'advanced-preloader'); } $output .= '
' . $text_content . '
'; } $output .= '
'; echo wp_kses_post($output); } add_action('wp_footer', 'advanced_preloader_display');