start_visual_composer(); } /** * Add theme support and register theme support */ public function theme_setup() { add_theme_support( 'automatic-feed-links' ); add_theme_support( 'title-tag' ); add_theme_support( 'post-thumbnails' ); set_post_thumbnail_size( 825, 510, true ); add_image_size('blog-thumb', 370, 220, true); add_image_size('testimonials-thumb', 120, 120, true); register_nav_menus( array( 'main_menu' => __( 'Primary Menu', 'unik' ), ) ); register_nav_menus( array( 'footer_menu' => __( 'Footer Menu', 'unik' ), ) ); add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption' ) ); add_theme_support( 'post-formats', array( 'aside', 'image', 'video', 'quote', 'link', 'gallery', 'audio' ) ); } /** * Favicon Picker */ public function theme_favicon() { $favicon_pat = ''; $favicon = _go('favicon_link') ? _go('favicon_link') : TT_THEME_URI . '/images/favicon.ico'; echo "\r\n" . sprintf($favicon_pat, $favicon) . "\r\n"; } /** * Enqueue Fonts, Styles and JS (front-end) */ public function enqueue_goods() { $protocol = is_ssl() ? 'https' : 'http'; $gfont_changer = array( _go('global_typo_font'), _go('links_settings_font'), _go('logo_text_font'), _go('headings_settings_font') ); $default_css = array( 'base-font' => "$protocol://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800|Varela", 'main-style' => TT_THEME_URI . "/css/screen.css", 'heme-style' => get_stylesheet_uri() ); // Google font picker foreach($gfont_changer as $font){ $font = str_replace(' ', '+', $font); if($font !== '') { wp_enqueue_style( 'tt-custom-font-' . $font, "$protocol://fonts.googleapis.com/css?family=$font"); } } // Main CSS and Fonts foreach ($default_css as $k => $css) { wp_enqueue_style( 'tt-' . $k, $css); } if ( is_singular() ) { wp_enqueue_script( "comment-reply" ); } } public function request_js() { wp_enqueue_script('require.js', TT_THEME_URI . '/js/components/require.js', array('jquery'), false, true); //wp_enqueue_script('main.js', TT_THEME_URI . '/js/options.js', array('jquery'), false, true); $custom_js = _go('custom_js'); // Transfer data to js $send_js = array( 'dirUri' => get_template_directory_uri(), ); wp_localize_script('require.js', 'themeOptions', $send_js); } public function add_id_to_script($tag, $handle){ if( strpos($tag, '/js/components/require') ) { return ''; } else { return $tag; } } /** * Enqueue Fonts, Styles and JS (admin) */ public function admin_enqueue_goods($hook) { if ( $hook == 'post-new.php' || $hook == 'post.php' ) { wp_enqueue_style( 'wp-color-picker' ); } wp_enqueue_style('tt-admin', TT_THEME_URI . '/css/admin/admin.css'); wp_enqueue_script('admin.js', TT_THEME_URI . '/js/admin/admin.js', array('jquery'), false, true); } public function last_script() { global $wp_scripts; if(!empty($wp_scripts->registered['require.js']->src)) { printf("", $wp_scripts->registered['require.js']->src, TT_THEME_URI . '/js/options' ); } } /** * Theme custom CSS */ public function theme_custom_css() { // Main styles switches $custom_css = (_go('layout_style') == 'Boxed') ? '.main-container {max-width: 1300px; margin: 0 auto; overflow: hidden} ' : ''; $custom_css .= (_go('body_background') && (_go('body_color') || _go('body_background_repeat') || _go('body_background_position'))) ? 'body {' : ''; $custom_css .= (_go('body_background')) ? 'background-image: url('._go('body_background').'); ' : ''; $custom_css .= (_go('body_color')) ? 'background-color: '._go('body_color').'; ' : ''; $custom_css .= (_go('body_background') && _go('body_background_repeat')) ? 'background-repeat: '.strtolower(_go('body_background_repeat')).'; ' : ''; $custom_css .= ( _go('body_background') && _go('body_background_position')) ? 'background-attachment: '.strtolower(_go('body_background_position')).'; ' : ''; $custom_css .= (_go('body_background') && (_go('body_color') || _go('body_background_repeat') || _go('body_background_position'))) ? '}' : ''; // Main styles switches $custom_css .= (_go('header_color')) ? '.header-navbar {background-color: '._go('header_color').' !important;}' : ''; // Logo text $custom_css .= (_go('logo_text') && (_go('logo_text_color') || _go('logo_text_font') || _go('logo_text_size'))) ? '.logo-text{' : ''; $custom_css .= (_go('logo_text') && _go('logo_text_color')) ? 'color: '._go('logo_text_color').';' : ''; $custom_css .= (_go('logo_text') && _go('logo_text_font')) ? 'font-family: '._go('logo_text_font').';' : ''; $custom_css .= (_go('logo_text') && _go('logo_text_size')) ? 'font-size: '._go('logo_text_size').'px;' : ''; $custom_css .= (_go('logo_text') && (_go('logo_text_color') || _go('logo_text_font') || _go('logo_text_size'))) ? '}' : ''; // Page meta $page_meta = $this->get_custom_meta('page_meta'); $custom_css .= !empty($page_meta->bg_color)? '.box-intro-page {background-color: '.$page_meta->bg_color.';}' : ''; $custom_css .= !empty($page_meta->icon_color)? '.page-title-color {color: '.$page_meta->icon_color.';}' : ''; $custom_css .= (_go('canvas_color')) ? sprintf('.main-container { background: %s;}', _go('canvas_color')) : ''; $custom_css .= (_go('primary_color')) ? sprintf('.bg-alpha, .vc_btn-alpha, .bg-alpha-hover:hover, .timeline-item > h6:before, .air-nav .current, .tabs-nav a:after, .featured-icon figure > a:hover, .big-tabs:before, .toggle-item input[type="radio"]:checked + h6, .sort-by > ul input[type=radio] + span:before, .portfolio-filters > ul > li label input:checked + span:hover, button.button-outline:hover, .portfolio-filters > ul > li label input:checked + span {background: %s !important;}', _go('primary_color')) : ''; $custom_css .= (_go('primary_color')) ? sprintf('body .text-alpha, .loop-facts .featured-icon:hover + *, .portfolio-filters > ul > li label input:checked + span:after, input[type=text]:focus + span, input[type=email]:focus + span, input[type=search]:focus + span, textarea:focus + span, .big-tabs-content:after, .social-networks > li a:hover i, .social-networks > li a:focus i, .main-nav > ul > li ul li a, .active-big-tab > .tab-item > div {color: %s !important;}', _go('primary_color')) : ''; $custom_css .= (_go('primary_color')) ? sprintf('a:hover {color: %s}', _go('primary_color')) : ''; $custom_css .= (_go('primary_color')) ? sprintf('.big-tabs, .portfolio-filters, input[type=text]:focus, input[type=email]:focus, input[type=search]:focus, textarea:focus {border-bottom-color: %s !important;}', _go('primary_color')) : ''; $custom_css .= (_go('secondary_color')) ? sprintf('.bg-beta {background: %s !important;}', _go('secondary_color')) : ''; $custom_css .= (_go('secondary_color')) ? sprintf('.text-beta {color: %s !important;}', _go('secondary_color')) : ''; $custom_css .= (_go('global_typo_color')) ? sprintf('body {color: %s;}', _go('global_typo_color')) : ''; $custom_css .= (_go('global_typo_size')) ? sprintf('body {font-size: %spx;}', _go('global_typo_size')) : ''; $custom_css .= (_go('global_typo_font')) ? sprintf('body {font-family: %s;}', _go('global_typo_font')) : ''; $custom_css .= (_go('links_settings_color')) ? sprintf('a {color: %s;}', _go('links_settings_color')) : ''; $custom_css .= (_go('links_settings_size')) ? sprintf('a {font-size: %spx;}', _go('links_settings_size')) : ''; $custom_css .= (_go('links_settings_font')) ? sprintf('a {font-family: %s;}', _go('links_settings_font')) : ''; $custom_css .= (_go('headings_settings_color')) ? sprintf('h1, h2, h3, h4, h5, h6 {color: %s;}', _go('headings_settings_color')) : ''; $custom_css .= (_go('headings_settings_font')) ? sprintf('h1, h2, h3, h4, h5, h6 {font-family: %s;}', _go('headings_settings_font')) : ''; $custom_css .= (_go('headings_one_settings_size')) ? sprintf('h1 {font-size: %spx;}', _go('headings_one_settings_size')) : ''; $custom_css .= (_go('headings_two_settings_size')) ? sprintf('h2 {font-size: %spx;}', _go('headings_two_settings_size')) : ''; $custom_css .= (_go('headings_three_settings_size')) ? sprintf('h3 {font-size: %spx;}', _go('headings_three_settings_size')) : ''; $custom_css .= (_go('headings_four_settings_size')) ? sprintf('h4 {font-size: %spx;}', _go('headings_four_settings_size')) : ''; $custom_css .= (_go('headings_five_settings_size')) ? sprintf('h5 {font-size: %spx;}', _go('headings_five_settings_size')) : ''; $custom_css .= (_go('headings_six_settings_size')) ? sprintf('h6 {font-size: %spx;}', _go('headings_six_settings_size')) : ''; $custom_css .= (_go('custom_css')) ? _go('custom_css') : ''; wp_add_inline_style('tt-main-style', $custom_css); } /** * Generate navigation */ public function theme_navigation($menu_name, $css_class=null, $menu=null) { $defaults = array( 'theme_location' => strtolower(str_replace(" ", "_", $menu_name)), 'menu' => $menu, 'container' => false, 'container_class' => '', 'container_id' => '', 'menu_class' => $css_class, 'menu_id' => '', 'echo' => false, 'fallback_cb' => array($this, 'menu_callback'), 'before' => '', 'after' => '', 'link_before' => '', 'link_after' => '', 'items_wrap' => '