static function render() { //run the filter self::$css_header_buffer = apply_filters("td_css_buffer_render", self::$css_header_buffer); if (trim(self::$css_header_buffer) != '') { self::$css_header_buffer = "\n<!-- Style compiled by theme -->" . "\n\n<style>\n " . self::$css_header_buffer . "\n</style>\n\n"; return self::$css_header_buffer; } else { return; } }
static function _render_footer() { self::$css_footer_buffer_has_rendered = true; if (trim(self::$css_footer_buffer) != '') { self::$css_footer_buffer = "\n<!-- Footer style compiled by theme -->" . "\n\n<style>\n " . self::$css_footer_buffer . "\n</style>\n\n"; echo self::$css_footer_buffer; // echo out the buffer } else { return ''; } }
function __construct($background_parameters) { // save a local copy $this->background_parameters = $background_parameters; // bg click ad td_js_buffer::add_variable('td_ad_background_click_link', stripslashes($this->background_parameters['td_ad_background_click_link'])); // the slashes are added by wp in the panel submit td_js_buffer::add_variable('td_ad_background_click_target', $this->background_parameters['td_ad_background_click_target']); // add the css if needed - the css knows about the stretched background! if ($this->background_parameters['theme_bg_image'] != '' or $this->background_parameters['theme_bg_color'] != '') { td_css_buffer::add_to_header($this->add_css_custom_background()); } // add the js if needed - needed only for stretch background if (!empty($this->background_parameters['theme_bg_image']) and $this->background_parameters['is_stretched_bg'] == true) { td_js_buffer::add_to_footer($this->add_js_hook()); } // here we manipulate the body_class-es, we remove the WordPress ones and add our own + boxed version class add_filter('body_class', array($this, 'add_slug_to_body_class')); }
/** --------------------------------------------------------------------------- * front end user compiled css @see td_css_generator.php */ function td_include_user_compiled_css() { if (!is_admin()) { // add the global css compiler td_css_buffer::add_to_header(PHP_EOL . '/* Style generated by theme (global compiled style) */' . PHP_EOL); if (TD_DEPLOY_MODE == 'dev') { // get it live td_css_buffer::add_to_header(td_css_generator()); } else { // get it from the cache - do not compile at runtime td_css_buffer::add_to_header(td_util::get_option('tds_user_compile_css')); } // add the demo specific css compiler $demo_state = get_option(TD_THEME_NAME . '_demo_state'); // get the current loaded demo if (isset($demo_state['demo_id'])) { $demo_id = $demo_state['demo_id']; if (td_global::$demo_list[$demo_id]['td_css_generator_demo'] === true) { require_once td_global::$demo_list[$demo_id]['folder'] . 'td_css_generator_demo.php'; td_css_buffer::add_to_header(PHP_EOL . PHP_EOL . PHP_EOL . '/* Style generated by theme for demo: ' . $demo_id . ' */' . PHP_EOL); td_css_buffer::add_to_header(td_css_demo_gen()); } } } }
function td_css_generator() { $raw_css = "\n <style>\n\n /* @theme_color */\n .block-title a, .block-title span, .td-tags a:hover, .td-scroll-up-visible, .td-scroll-up, .sf-menu ul\n .current-menu-item > a, .sf-menu ul a:hover, .sf-menu ul .sfHover > a, .sf-menu ul .td-not-mega > a:hover, .td-rating-bar-wrap div, .iosSlider .slide-meta-cat, .sf-menu ul\n .current-menu-ancestor > a, .td-404-sub-sub-title a, .widget_tag_cloud .tagcloud a:hover, .td-mobile-close a,\n ul.td-category a, .td_social .td_social_type .td_social_button a, .dropcap, .td-forum-category-title\n .td-forum-category-name, .td_display_err, .td_block_mega_menu .td-ajax-next-page:hover, .td_block_mega_menu .td_ajax-prev-page:hover, .post-via span {\n background-color: @theme_color;\n }\n .block-title, .sf-menu li a:hover, .sf-menu .sfHover a, .sf-menu .current-menu-ancestor a, .header-search-wrap\n .dropdown-menu, .sf-menu > .current-menu-item > a, .ui-tabs-nav,\n .woocommerce .product .woocommerce-tabs ul.tabs, .td-forum-list-head, .td-login-panel-title {\n border-color: @theme_color;\n }\n\n .widget_price_filter .ui-slider-handle {\n border-color: @theme_color !important;\n }\n\n .author-box-wrap .td-author-name a, blockquote p, .page-nav a:hover, .widget_pages .current_page_item a,\n .widget_calendar td a, .widget_categories .current-cat > a, .widget_pages .current_page_parent > a,\n .td_pull_quote p, .page-nav-post a:hover span, .td-forum-last-comment-content .td-forum-last-author,\n .td-topics-title-details a, .td-posted-in a {\n color: @theme_color;\n }\n\n .woocommerce .button, .woocommerce .form-submit #submit, .widget_price_filter .ui-slider-handle,\n .jetpack_subscription_widget input[type=\"submit\"], .pp_woocommerce .pp_close, .pp_woocommerce .pp_expand,\n .pp_woocommerce .pp_contract, .pp_woocommerce .pp_arrow_previous, .pp_woocommerce .pp_arrow_next, .pp_woocommerce\n .pp_next:before, .pp_woocommerce .pp_previous:before, #bbpress-forums .button {\n background: @theme_color !important;\n }\n\n .woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .bbp-template-notice, .td-reply-list-header {\n border-color: @theme_color !important;\n }\n .woocommerce .woocommerce-message:before, .woocommerce .woocommerce-info:before, .td-login-button {\n background-color: @theme_color !important;\n }\n\n\n .buddypress #buddypress div.dir-search input[type=\"submit\"], .buddypress #buddypress .message-search\n input[type=\"submit\"], .buddypress #buddypress .item-list-tabs ul li.selected a,\n .buddypress #buddypress .generic-button a, .buddypress #buddypress .submit input[type=\"submit\"],\n .buddypress #buddypress .ac-reply-content input[type=\"submit\"], .buddypress #buddypress .standard-form\n input[type=\"submit\"], .buddypress #buddypress .standard-form .button-nav .current a, .buddypress #buddypress .standard-form .button, .buddypress #buddypress input[type=\"submit\"],\n .buddypress #buddypress a.accept, .buddypress #buddypress #activate-page .standard-form input[type=\"submit\"],\n .buddypress #buddypress .standard-form #group-create-body input[type=\"button\"],\n .post-password-required input[type=\"submit\"] {\n background: @theme_color !important;\n }\n\n .buddypress #buddypress .groups .item-meta, .bbp-forum-title:hover, .td_login_tab_focus, .block-mega-child-cats a.cur-sub-cat {\n color: @theme_color !important;\n }\n\n .page-nav .current, .page-nav-post span {\n background-color: @theme_color;\n border-color: @theme_color;\n }\n .wpb_btn-inverse, .ui-tabs-nav .ui-tabs-active a, .post .wpb_btn-danger, .form-submit input, .wpcf7-submit,\n .wpb_default, .woocommerce .product .woocommerce-tabs ul.tabs li.active, .woocommerce.widget_product_search\n input[type=\"submit\"], .more-link-wrap, .td_read_more {\n background-color: @theme_color !important;\n }\n .header-search-wrap .dropdown-menu:before {\n border-color: transparent transparent @theme_color;\n }\n .td-mobile-content .current-menu-item > a, .td-mobile-content a:hover {\n color: @theme_color !important;\n }\n .category .entry-content, .tag .entry-content, .td_quote_box {\n border-color: @theme_color;\n }\n\n .td-timeline-block-title {\n background-color: @theme_color !important;\n }\n\n .td-timeline-wrapper-links {\n border-color: @theme_color !important;\n }\n\n .td-timline-h1-link span {\n background-color: @theme_color !important;\n }\n\n .td-page-title .td-search-query {\n color: @theme_color;\n }\n\n /* @slider_text */\n .td-sbig-title-wrap .td-sbig-title, .td-slide-item-sec .td-sbig-title-wrap, .td-big-grid-title .td-sbig-title-wrap {\n background-color: @slider_text;\n }\n\n\n /* @jetpack caption hover */\n .tiled-gallery-caption {\n background: @slide_text !important;\n }\n\n\n\n /* @select_color */\n ::-moz-selection {\n background: @select_color;\n color: #fff;\n }\n\n ::selection {\n background: @select_color;\n color: #fff;\n }\n\n\n\n /* @menu_color */\n .td-full-layout .td-menu-background {\n background: @menu_color !important;\n }\n\n .td-boxed-layout .td-menu-background .td-menu-wrap {\n background: @menu_color !important;\n }\n\n\n /* @header_wrap_color */\n .td-full-layout .td-header-bg {\n background-color: @header_wrap_color !important;\n }\n\n .td-boxed-layout .td-logo-rec-wrap,\n .td-boxed-layout .td-affix .td-logo-rec-wrap,\n .td-full-logo\n {\n background-color: @header_wrap_color !important;\n }\n\n\n /* @logo_text_color */\n .header-logo-wrap .td-logo-text, .header-logo-wrap .td-tagline-text {\n color: @logo_text_color !important;\n }\n\n\n\n /* @header_align_top */\n .td-logo-rec-wrap .span4,\n .td-logo-rec-wrap .span8 {\n top: @header_align_top !important;\n position: relative !important;\n }\n\n @media (max-width: 767px) {\n .td-logo-rec-wrap {\n top: 0px !important;\n }\n }\n\n /* @transparent_header */\n .td-logo-rec-wrap, .td-full-logo {\n background-color: transparent !important;\n }\n\n\n /* @top_menu_color */\n .td-full-layout .td-header-menu-wrap {\n background-color: @top_menu_color !important;\n }\n\n .td-boxed-layout .td-header-menu-wrap .container {\n background-color: @top_menu_color !important;\n }\n\n\t\n\t/* @link_color */\n\ta, .widget_recent_comments .recentcomments .url {\n\t\tcolor: @link_color;\n }\n .cur-sub-cat {\n color:@link_color !important;\n }\n .blog-stack .sf-menu .current-menu-item a,\n .blog-stack .sf-menu .current-menu-parent .current-menu-item a,\n .blog-stack .sf-menu .current-menu-parent > a,\n .blog-stack .sf-menu > li:hover > a,\n .blog-stack .sf-menu ul li:hover > a,\n .blog-stack .td-post-text-content .more-link-wrap:hover a,\n .blog-stack .sf-menu ul .td_mega_menu_sub_cats a.cur-sub-cat,\n .blog-stack .sf-menu ul .td_mega_menu_sub_cats a.cur-sub-cat:hover,\n .blog-stack .td-mega-menu .block-mega-child-cats a:hover,\n .blog-stack .td_mod_mega_menu:hover .item-details a{\n color:@link_color !important;\n }\n\n .blog-stack .sf-menu ul li {\n background-color: @link_color;\n }\n\n .blog-stack .td-post-text-content .more-link-wrap a:hover {\n outline-color: @link_color;\n }\n\n\t\n\t/* @link_hover_color */\n\ta:hover, .widget_recent_comments .recentcomments .url:hover {\n\t\tcolor: @link_hover_color;\n }\n\n\n /* @footer_color */\n .td-full-layout .td-footer-wrap, .td-boxed-layout .td-footer-wrap .span12 {\n background: @footer_color url('@get_template_directory_uri/images/footer/top-shadow.png') repeat-x top;\n }\n\n /* @footer_bottom_color */\n .td-full-layout .td-sub-footer-wrap, .td-boxed-layout .td-sub-footer-wrap .container {\n background-color: @footer_bottom_color;\n }\n\n /* @footer_text_color */\n .td-footer-wrap, .td-footer-wrap a, .td-footer-wrap .td_top_authors .td-authors-name a {\n color: @footer_text_color;\n }\n .td-footer-wrap .entry-title a {\n color: @footer_text_color !important;\n }\n .td_top_authors .td_mod_wrap:hover {\n background-color: transparent !important;\n }\n\n /* @footer_bottom_text_color */\n .td-sub-footer-copy, .td-sub-footer-wrap a {\n color: @footer_bottom_text_color !important;\n }\n .td-sub-footer-menu li a:before {\n background-color: @footer_bottom_line;\n }\n\n\n /* @top_menu_line */\n .top-header-menu li a:before {\n background-color: @top_menu_line;\n }\n\n\n /* @menu_icon_color */\n .td-menu-header .td-sp, .sf-sub-indicator{\n background-image: url('@get_template_directory_uri/images/header/elements-menu.png');\n }\n @media only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and (-moz-min-device-pixel-ratio: 2),\n only screen and (min-device-pixel-ratio: 2) {\n .td-menu-header .td-sp, .sf-sub-indicator{\n background-image: url('@get_template_directory_uri/images/header/elements-menu@2x.png');\n }\n }\n\n\n\n\n\n\n\n /* ------------------------------------------------------ */\n /* @post_title */\n .post header h1, .post header h1 a {\n @post_title\n }\n\n /* @content */\n body .td-post-text-content {\n @content\n }\n\n /* @post_h1_tag */\n .post .td-post-text-content h1 {\n @post_h1_tag\n }\n\n /* @post_h2_tag */\n .post .td-post-text-content h2 {\n @post_h2_tag\n }\n\n /* @post_h3_tag */\n .post .td-post-text-content h3 {\n @post_h3_tag\n }\n\n /* @post_h4_tag */\n .post .td-post-text-content h4 {\n @post_h4_tag\n }\n\n /* @post_h5_tag */\n .post .td-post-text-content h5 {\n @post_h5_tag\n }\n\n /* @post_h6_tag */\n .post .td-post-text-content h6 {\n @post_h6_tag\n }\n\n /* @post_blue_quote */\n .td-post-text-content blockquote.td_quote_left p,\n .td-post-text-content blockquote.td_quote_right p,\n .td-post-text-content blockquote:not(.td-quote-classic):not(.td_quote_box):not(.td_pull_quote) p {\n @post_blue_quote\n }\n\n\n /* @post_black_quote */\n .post .td-post-text-content blockquote.td-quote-classic p {\n @post_black_quote\n }\n\n /* @post_black_quote_author */\n .td-post-text-content .td-quote-author p {\n @post_black_quote_author\n }\n\n /* @post_template_style_1 */\n .single_template_1 header h1.entry-title {\n @post_template_style_1\n }\n\n /* @post_template_style_2 */\n .single_template_2 header h1.entry-title {\n @post_template_style_2\n }\n\n /* @post_template_style_3 */\n .single_template_3 header h1.entry-title {\n @post_template_style_3\n }\n\n /* @post_template_style_4 */\n .single_template_4 header h1.entry-title {\n @post_template_style_4\n }\n\n /* @post_template_style_5 */\n .single_template_5 header h1.entry-title {\n @post_template_style_5\n }\n\n /* @page_title */\n .page-template-default h1.td-page-title span,\n .page-template-page-pagebuilder-title-php h1.td-page-title span{\n @page_title\n }\n\n\n /* @top_menu */\n .td-header-menu-wrap li a, .td-header-menu-wrap .td_data_time {\n @top_menu\n }\n\n /* @menu */\n .sf-menu > .td-not-mega > a {\n @menu\n }\n\n /* @mega_menu */\n .td_mod_mega_menu .item-details a {\n @mega_menu\n }\n\n /* @sub_menu */\n .sf-menu ul .td-not-mega a, .td_mega_menu_sub_cats .block-mega-child-cats a{\n @sub_menu\n }\n\n\n /* @big_slide_main */\n .td-big-grid-post-0 .td-sbig-title-wrap .td-sbig-title, .td-big-grid-post-0 .td-sbig-title-wrap .td-sbig-title:hover, .td-big-grid-post-0 .td-sbig-title-wrap a {\n @big_slide_main\n }\n\n /* @big_slide_sec */\n .td-big-grid-post-sec .td-sbig-title-wrap a, .td-big-grid-post-sec .td-sbig-title-wrap a {\n @big_slide_sec\n }\n\n /* @normal_slide */\n .td_normal_slide .td-sbig-title-wrap .td-sbig-title {\n @normal_slide\n }\n\n .td_normal_slide .td-sbig-title-wrap a, .td_normal_slide .iosSlider-col-2 .item .td-sbig-title-wrap a, .td_normal_slide .iosSlider-col-1 .item .td-sbig-title-wrap a {\n @normal_slide\n }\n\n /* @widget_title */\n .td_block_wrap .block-title a, .block-title span, .block-title label {\n @widget_title\n }\n\n /* @widget_art_big_title */\n .td_mod2 .entry-title a, .td_mod5 .entry-title a, .td_mod6 .entry-title a, .td_mod_search .entry-title a {\n @widget_art_big_title\n }\n\n /* @widget_art_small_title */\n .td_mod3 .entry-title a, .td_mod4 .entry-title a, .td_mod_mega_menu .item-details a {\n @widget_art_small_title\n }\n\n /* @excerpt */\n body .td-post-text-excerpt {\n @excerpt\n }\n\n /* @tabs_title */\n .ui-tabs-nav a, .ui-tabs-nav .ui-tabs-active a {\n @tabs_title\n }\n\n\n </style>\n "; $td_css_compiler = new td_css_compiler($raw_css); //the template directory uri $td_css_compiler->load_setting_raw('get_template_directory_uri', get_template_directory_uri()); //add the typography css to the theme generated css foreach (td_fonts::$typography_sections as $section_id => $section_name) { if (!empty(td_global::$td_options['td_fonts'][$section_id])) { $section_css_array = td_global::$td_options['td_fonts'][$section_id]; if (!empty($section_css_array['font_family'])) { $section_css_array = td_fonts::css_get_font_family(td_global::$td_options['td_fonts'][$section_id]); } //check if we have font_family in the array if (!empty($section_css_array)) { $td_css_compiler->load_setting_array(array($section_id => $section_css_array)); } } } //load the user settings $td_css_compiler->load_setting('theme_color'); $td_css_compiler->load_setting('header_wrap_color'); $td_css_compiler->load_setting('menu_color'); //header background color $td_css_compiler->load_setting('menu_text_color'); $td_css_compiler->load_setting('top_menu_color'); $td_css_compiler->load_setting('logo_text_color'); $td_css_compiler->load_setting('link_color'); $td_css_compiler->load_setting('link_hover_color'); $td_css_compiler->load_setting('small_text_slide'); $td_css_compiler->load_setting('header_align_top'); $td_css_compiler->load_setting('transparent_header'); $td_css_compiler->load_setting('footer_color'); $td_css_compiler->load_setting('footer_bottom_color'); $td_css_compiler->load_setting('footer_text_color'); $td_css_compiler->load_setting('footer_bottom_text_color'); $td_css_compiler->load_setting('menu_icon_color'); $td_css_compiler->load_setting('big_slide_transform'); $td_css_compiler->load_setting('main_menu_transform'); //top menu + line color $tds_top_menu_text_color = td_util::get_option('td_fonts'); if (!empty($tds_top_menu_text_color['top_menu']['color'])) { $td_css_compiler->load_setting_raw('top_menu_line', td_util::hex2rgba($tds_top_menu_text_color['top_menu']['color'], 0.3)); } //footer menu + line color $td_css_compiler->load_setting('footer_bottom_text_color'); $tds_footer_bottom_text_color = td_util::get_option('tds_footer_bottom_text_color'); if (!empty($tds_footer_bottom_text_color)) { $td_css_compiler->load_setting_raw('footer_bottom_line', td_util::hex2rgba($tds_footer_bottom_text_color, 0.3)); } //load the selection color $tds_theme_color = td_util::get_option('tds_theme_color'); if (!empty($tds_theme_color)) { //the select $td_css_compiler->load_setting_raw('select_color', td_util::adjustBrightness($tds_theme_color, 50)); //the sliders text $td_css_compiler->load_setting_raw('slider_text', td_util::hex2rgba($tds_theme_color, 0.7)); } //add fonts css buffer $td_fonts_css_buffer = td_util::get_option('td_fonts_css_buffer'); if (!empty($td_fonts_css_buffer)) { td_css_buffer::add($td_fonts_css_buffer); } //output the style td_css_buffer::add($td_css_compiler->compile_css()); }
/** * Generates the sibling categories, it also compiles the $custom_category_color_css and adds it to the footer css buffer * @param string $params_array * * array( * 'current_category_css' => ' * <style> * // the css style to compile * </style> * ', * 'show_background_color' => true - if true, the theme will output inline css to color the background color * ) * * @return string * @throws ErrorException */ protected function get_sibling_categories($params_array = '') { $buffy = ''; //the subcategories if (!empty($this->current_category_obj->cat_ID)) { if ($this->current_category_obj->parent === 0) { // get child categories $categories_objects = get_categories(array('parent' => $this->current_category_obj->cat_ID, 'hide_empty' => 0, 'number' => self::SIBLING_CATEGORY_LIMIT)); } // if no child categories get siblings if (empty($categories_objects)) { $categories_objects = get_categories(array('parent' => $this->current_category_obj->parent, 'hide_empty' => 0, 'number' => self::SIBLING_CATEGORY_LIMIT)); } } /** * if we have categories to show... show them */ if (!empty($categories_objects)) { $buffy = '<div class="td-category-siblings">'; $buffy .= '<ul class="td-category">'; foreach ($categories_objects as $category_object) { // ignore featured cat and uncategorized if ($category_object->name == TD_FEATURED_CAT or strtolower($category_object->cat_name) == 'uncategorized') { continue; } if (!empty($category_object->name) and td_util::get_category_option($category_object->cat_ID, 'tdc_hide_on_post') != 'hide') { $class = ''; if ($category_object->cat_ID == $this->current_category_id) { $class = 'td-current-sub-category'; } $td_css_inline = new td_css_inline(); // @todo we can add more properties as needed, ex: show_border_color if (!empty($params_array['show_background_color'])) { $tdc_color_current_cat = td_util::get_category_option($category_object->cat_ID, 'tdc_color'); $td_css_inline->add_css(array('background-color' => $tdc_color_current_cat)); } $buffy .= '<li class="entry-category"><a ' . $td_css_inline->get_inline_css() . ' class="' . $class . '" href="' . get_category_link($category_object->cat_ID) . '">' . $category_object->name . '</a></li>'; } } $buffy .= '</ul>'; // subcategory dropdown list $buffy .= '<div class="td-subcat-dropdown td-pulldown-filter-display-option">'; $buffy .= '<div class="td-subcat-more"><i class="td-icon-menu-down"></i></div>'; // the dropdown list $buffy .= '<ul class="td-pulldown-filter-list">'; $buffy .= '</ul>'; $buffy .= '</div>'; $buffy .= '<div class="clearfix"></div>'; $buffy .= '</div>'; } // compile the custom css if (!empty($params_array['current_category_css'])) { $tdc_color = td_util::get_category_option($this->current_category_obj->cat_ID, 'tdc_color'); $td_css_compiler = new td_css_compiler($params_array['current_category_css']); $td_css_compiler->load_setting_raw('current_category_color', $tdc_color); td_css_buffer::add_to_footer($td_css_compiler->compile_css()); } return $buffy; }
/** --------------------------------------------------------------------------- * front end user compiled css @see td_css_generator.php */ function td_include_user_compiled_css() { if (!is_admin()) { td_css_buffer::add_to_header(td_util::get_option('tds_user_compile_css')); } }