function presscore_ubermenu_generate_less_css_file_after_options_save() { $set = get_settings_errors('options-framework'); if (!empty($set)) { presscore_generate_less_css_file('the7-ubermenu.less', PRESSCORE_THEME_URI . '/css/the7-uber-menu.less'); } }
/** * Enqueue *.less files */ function presscore_enqueue_dynamic_stylesheets(){ $dynamic_stylesheets = presscore_get_dynamic_stylesheets_list(); foreach ( $dynamic_stylesheets as $stylesheet_handle=>$stylesheet ) { $stylesheet_path_hash = md5( $stylesheet['path'] ); $stylesheet_cache_name = 'wp_less_stylesheet_data_' . $stylesheet_path_hash; $stylesheet_cache = get_option( $stylesheet_cache_name ); // regenerate less files if needed if ( ( defined('DT_ALWAYS_REGENERATE_DYNAMIC_CSS') && DT_ALWAYS_REGENERATE_DYNAMIC_CSS ) || ( !$stylesheet['fallback_src'] && !$stylesheet_cache ) ) { presscore_generate_less_css_file( $stylesheet_handle, $stylesheet['src'] ); $stylesheet_cache = get_option( $stylesheet_cache_name ); } // enqueue stylesheets presscore_enqueue_dynamic_style( array( 'handle' => $stylesheet_handle, 'cache' => $stylesheet_cache, 'stylesheet' => $stylesheet ) ); } do_action( 'presscore_enqueue_dynamic_stylesheets' ); }
/** * 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); } }
/** * Enqueue *.less files */ function presscore_enqueue_dynamic_stylesheets() { $dynamic_stylesheets = presscore_get_dynamic_stylesheets_list(); $preset = of_get_option('preset', presscore_set_first_run_skin()); foreach ($dynamic_stylesheets as $stylesheet_handle => $stylesheet) { $stylesheet_path_hash = md5($stylesheet['path']); $stylesheet_cache_name = 'wp_less_stylesheet_data_' . $stylesheet_path_hash; $stylesheet_cache = get_option($stylesheet_cache_name); $fallback_path = str_replace(array(PRESSCORE_THEME_URI, '%preset%'), array(PRESSCORE_THEME_DIR, esc_attr($preset)), $stylesheet['fallback_src']); // regenerate less files if needed if (defined('DT_ALWAYS_REGENERATE_DYNAMIC_CSS') && DT_ALWAYS_REGENERATE_DYNAMIC_CSS || (!$fallback_path || !file_exists($fallback_path)) && !$stylesheet_cache) { try { presscore_generate_less_css_file($stylesheet_handle, $stylesheet['src']); } catch (Exception $e) { continue; // wp_die( 'Incorrect less var!' ); } $stylesheet_cache = get_option($stylesheet_cache_name); } // enqueue stylesheets presscore_enqueue_dynamic_style(array('handle' => $stylesheet_handle, 'cache' => $stylesheet_cache, 'stylesheet' => $stylesheet)); } do_action('presscore_enqueue_dynamic_stylesheets'); }