Пример #1
0
	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'] );
		}

	}
Пример #2
0
 /**
  * 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);
     }
 }