function presscore_enqueue_dynamic_style( $args = array() ) { $stylesheet = empty( $args['stylesheet'] ) ? array() : $args['stylesheet']; $handle = empty( $args['handle'] ) ? '' : $args['handle']; if ( empty( $stylesheet ) || empty( $handle )) { return; } $stylesheet_cache = empty( $args['cache'] ) ? array() : $args['cache']; // less stylesheet if ( get_option( 'presscore_less_css_is_writable' ) && isset($stylesheet_cache['target_uri']) ) { $stylesheet_src = set_url_scheme( $stylesheet_cache['target_uri'], is_ssl() ? 'https' : 'http' ); wp_enqueue_style( $handle, $stylesheet_src, $stylesheet['deps'], $stylesheet['ver'], $stylesheet['media'] ); // print custom css inline } elseif ( !empty($stylesheet_cache['compiled']) ) { $inline_stylesheet = $stylesheet_cache['compiled']; if ( is_ssl() ) { $inline_stylesheet = str_replace( site_url('', 'http'), site_url('', 'https'), $inline_stylesheet ); } wp_add_inline_style( 'dt-main', $inline_stylesheet ); } elseif ( !empty($stylesheet['fallback_src']) ) { // get current skin name $preset = of_get_option( 'preset', presscore_set_first_run_skin() ); $fallback_src = str_replace('%preset%', esc_attr( $preset ), $stylesheet['fallback_src']); // load skin precompiled css wp_enqueue_style( $handle, $fallback_src, $stylesheet['deps'], $stylesheet['ver'], $stylesheet['media'] ); } }
/** * Enqueue scripts and styles. */ function presscore_enqueue_scripts() { $theme = wp_get_theme(); $theme_version = $theme->get('Version'); $config = Presscore_Config::get_instance(); $template_uri = get_template_directory_uri(); $custom_less_path = '/css/custom.less'; $custom_less_path_hash = md5(get_template_directory() . $custom_less_path); wp_register_style('dt-custom.less', $template_uri . $custom_less_path); $cache_name = 'wp_less_stylesheet_data_' . $custom_less_path_hash; $compiled_cache = get_option($cache_name); if (defined('DT_ALWAYS_REGENERATE_DYNAMIC_CSS') && DT_ALWAYS_REGENERATE_DYNAMIC_CSS || false !== get_transient('wp_less_compiled_' . $custom_less_path_hash) && empty($compiled_cache['target_uri'])) { presscore_generate_less_css_file(); $compiled_cache = get_option($cache_name); } // detect device type $detect = new Mobile_Detect(); $device_type = $detect->isMobile() ? $detect->isTablet() ? 'tablet' : 'phone' : 'computer'; $config->set('device_type', $device_type); // enqueue web fonts if needed presscore_enqueue_web_fonts(); wp_enqueue_style('dt-normalize', $template_uri . '/css/normalize.css', array(), $theme_version); wp_enqueue_style('dt-wireframe', $template_uri . '/css/wireframe.css', array(), $theme_version); wp_enqueue_style('dt-main', $template_uri . '/css/main.css', array(), $theme_version); if (presscore_responsive()) { wp_enqueue_style('dt-media', $template_uri . '/css/media.css', array(), $theme_version); } wp_enqueue_style('dt-awsome-fonts', $template_uri . '/css/font-awesome.min.css', array(), $theme_version); // less stylesheet if (get_option('presscore_less_css_is_writable') && isset($compiled_cache['target_uri'])) { if (is_ssl()) { $compiled_cache['target_uri'] = str_replace('http://', 'https://', $compiled_cache['target_uri']); } wp_deregister_style('dt-custom.less'); wp_enqueue_style('dt-custom.less', $compiled_cache['target_uri'], array(), $theme_version); // print custom css inline } elseif (!empty($compiled_cache['compiled'])) { wp_add_inline_style('dt-main', $compiled_cache['compiled']); } else { // get current skin name $preset = of_get_option('preset', presscore_set_first_run_skin()); // load skin precompiled css wp_enqueue_style('dt-compiled-custom.less', $template_uri . '/css/compiled/custom-' . esc_attr($preset) . '.css', array(), $theme_version); } // RoyalSlider wp_enqueue_style('dt-royalslider', $template_uri . '/royalslider/royalslider.css', array(), $theme_version); wp_enqueue_style('style', get_stylesheet_uri(), array(), $theme_version); // in header wp_enqueue_script('dt-modernizr', $template_uri . '/js/modernizr.js', array('jquery'), $theme_version); wp_enqueue_script('svg-icons', $template_uri . '/js/svg-icons.js', array('jquery'), $theme_version); // in footer wp_enqueue_script('dt-royalslider', $template_uri . '/royalslider/jquery.royalslider.js', array('jquery'), $theme_version, true); wp_enqueue_script('dt-animate', $template_uri . '/js/animate-elements.js', array('jquery'), $theme_version, true); wp_enqueue_script('dt-plugins', $template_uri . '/js/plugins.js', array('jquery'), $theme_version, true); // enqueue device specific scripts switch ($device_type) { case 'tablet': wp_enqueue_script('dt-tablet', $template_uri . '/js/desktop-tablet.js', array('jquery'), $theme_version, true); break; case 'phone': wp_enqueue_script('dt-phone', $template_uri . '/js/phone.js', array('jquery'), $theme_version, true); break; default: wp_enqueue_script('dt-tablet', $template_uri . '/js/desktop-tablet.js', array('jquery'), $theme_version, true); wp_enqueue_script('dt-desktop', $template_uri . '/js/desktop.js', array('jquery'), $theme_version, true); } wp_enqueue_script('dt-main', $template_uri . '/js/main.js', array('jquery'), $theme_version, true); if (is_page()) { $page_data = array('type' => 'page', 'template' => $config->get('template'), 'layout' => $config->get('justified_grid') ? 'jgrid' : $config->get('layout')); } else { if (is_archive()) { $page_data = array('type' => 'archive', 'template' => $config->get('template'), 'layout' => $config->get('justified_grid') ? 'jgrid' : $config->get('layout')); } else { if (is_search()) { $page_data = array('type' => 'search', 'template' => $config->get('template'), 'layout' => $config->get('justified_grid') ? 'jgrid' : $config->get('layout')); } else { $page_data = false; } } } $dt_local = array('passText' => __('To view this protected post, enter the password below:', LANGUAGE_ZONE), 'moreButtonAllLoadedText' => __('Everything is loaded', LANGUAGE_ZONE), 'postID' => get_the_ID(), 'ajaxurl' => admin_url('admin-ajax.php'), 'contactNonce' => wp_create_nonce('dt_contact_form'), 'ajaxNonce' => wp_create_nonce('presscore-posts-ajax'), 'pageData' => $page_data); // add some additional data wp_localize_script('dt-plugins', 'dtLocal', $dt_local); // comments clear script if (is_singular() && comments_open() && get_option('thread_comments')) { wp_enqueue_script('comment-reply'); } $custom_css = of_get_option('general-custom_css', ''); if ($custom_css) { wp_add_inline_style('style', $custom_css); } }