'circle', 'preloader_bg_color' => '#ffffff', 'preloader_color' => '#5933ff', 'preloader_secondary_color' => '#e0e0e0', 'preloader_size' => 60, 'preloader_speed' => 1.0, 'preloader_min_time' => 500, 'preloader_fadeout_time' => 600, 'preloader_logo' => '', 'preloader_logo_width' => 36, 'preloader_logo_height' => 36, 'preloader_disable_mobile' => 0, ); $saved = get_option( 'easyel_preloader_settings', array() ); if ( ! is_array( $saved ) ) { $saved = array(); } return wp_parse_args( $saved, $defaults ); } /** * Enqueue CSS/JS and inline dynamic styles. */ public function enqueue_scripts() { $settings = $this->get_settings(); if ( ! empty( $settings['preloader_disable_mobile'] ) && wp_is_mobile() ) { return; } wp_enqueue_style( 'easyel-preloader', EASYELEMENTS_DIR_URL . 'includes/Extensions/Preloader/assets/css/preloader.css', array(), EASYELEMENTS_VER ); $bg = sanitize_hex_color( $settings['preloader_bg_color'] ); if ( ! $bg ) { $bg = '#ffffff'; } $color = sanitize_hex_color( $settings['preloader_color'] ); if ( ! $color ) { $color = '#5933ff'; } $sec_color = sanitize_hex_color( $settings['preloader_secondary_color'] ); if ( ! $sec_color ) { $sec_color = '#e0e0e0'; } $size = absint( $settings['preloader_size'] ); $size = $size > 0 ? $size : 60; $speed = (float) $settings['preloader_speed']; $speed = $speed > 0 ? $speed : 1.0; $fadeout = absint( $settings['preloader_fadeout_time'] ); $custom_css = '.easyel-preloader{'; $custom_css .= '--easyel-preloader-bg:' . $bg . ';'; $custom_css .= '--easyel-preloader-color:' . $color . ';'; $custom_css .= '--easyel-preloader-secondary:' . $sec_color . ';'; $custom_css .= '--easyel-preloader-size:' . $size . 'px;'; $custom_css .= '--easyel-preloader-speed:' . $speed . 's;'; $custom_css .= '--easyel-preloader-fadeout:' . $fadeout . 'ms;'; $custom_css .= '}'; wp_add_inline_style( 'easyel-preloader', $custom_css ); wp_enqueue_script( 'easyel-preloader', EASYELEMENTS_DIR_URL . 'includes/Extensions/Preloader/assets/js/preloader.js', array( 'jquery' ), EASYELEMENTS_VER, true ); wp_localize_script( 'easyel-preloader', 'easyelPreloaderData', array( 'minTime' => absint( $settings['preloader_min_time'] ), 'fadeoutTime' => $fadeout, ) ); } /** * Render preloader HTML markup. */ public function render_preloader_html() { if ( $this->rendered ) { return; } $settings = $this->get_settings(); if ( ! empty( $settings['preloader_disable_mobile'] ) && wp_is_mobile() ) { $this->rendered = true; return; } $allowed_styles = array( 'circle', 'dotted_circle', 'dots', 'bars', 'pulse', 'custom_logo' ); $style = isset( $settings['preloader_style'] ) ? sanitize_key( $settings['preloader_style'] ) : 'circle'; if ( ! in_array( $style, $allowed_styles, true ) ) { $style = 'circle'; } $logo = isset( $settings['preloader_logo'] ) ? esc_url( $settings['preloader_logo'] ) : ''; $inner = ''; $inner .= '