public function shortcode($atts, $content = null) { $default_atts = array('type' => 'blockquote', 'layout' => 'left', 'font_size' => 'big', 'size' => '1', 'animation' => 'none', 'background' => 'plain'); extract(shortcode_atts($default_atts, $atts)); $font_size = sanitize_key($font_size); $type = sanitize_key($type); $layout = sanitize_key($layout); $size = sanitize_key($size); $background = sanitize_key($background); $classes = array(); $classes[] = presscore_get_font_size_class($font_size); if (presscore_shortcode_animation_on($animation)) { $classes[] = presscore_get_shortcode_animation_html_class($animation); } if ('blockquote' != $type) { $tag = 'q'; $autop = false; $classes[] = 'shortcode-pullquote'; $classes[] = 'wf-cell'; if ('right' == $layout) { $classes[] = 'align-right'; } else { $classes[] = 'align-left'; } switch ($size) { case '2': $classes[] = 'wf-1-2'; break; case '3': $classes[] = 'wf-1-3'; break; case '4': $classes[] = 'wf-1-4'; break; default: $classes[] = 'wf-1'; } } else { $tag = 'blockquote'; $autop = true; $classes[] = 'shortcode-blockquote'; if ('fancy' == $background) { $classes[] = 'block-style-widget'; } } $classes = implode(' ', $classes); $output = sprintf('<%1$s class="%2$s">%3$s</%1$s>', $tag, esc_attr($classes), presscore_remove_wpautop($content, $autop)); return $output; }
function presscore_get_page_title_html_class($class = array()) { $config = Presscore_Config::get_instance(); $output = array(presscore_get_font_size_class($config->get('page_title.font.size'))); if (is_single()) { $output[] = 'entry-title'; } ////////////// // Output // ////////////// if ($class && !is_array($class)) { $class = explode(' ', $class); } $output = apply_filters('presscore_get_page_title_html_class', array_merge($class, $output)); return $output ? sprintf('class="%s"', presscore_esc_implode(' ', array_unique($output))) : ''; }
/** * Adding our classes to paint standard VC shortcodes. * * @param string $class_string * @param string $tag * @param array $atts * @return string */ function custom_css_accordion($class_string, $tag, $atts = array()) { if (in_array($tag, array('vc_accordion', 'vc_toggle', 'vc_progress_bar', 'vc_posts_slider'))) { $class_string .= ' dt-style'; } if ('vc_accordion' === $tag) { if (array_key_exists('style', $atts)) { switch ($atts['style']) { case '2': $class_string .= ' dt-accordion-bg-on'; break; case '3': $class_string .= ' dt-accordion-line-on'; break; } } if (array_key_exists('title_size', $atts)) { $class_string .= ' dt-accordion-' . presscore_get_font_size_class($atts['title_size']); } } return $class_string; }
/** * Fancy header controller. * */ function presscore_fancy_header_controller() { $config = Presscore_Config::get_instance(); if ('fancy' != $config->get('header_title')) { return; } ///////////// // title // ///////////// $title = ''; $custom_title = 'generic' == $config->get('fancy_header.title.mode') ? presscore_get_page_title() : $config->get('fancy_header.title'); if ($custom_title) { $title_class = presscore_get_font_size_class($config->get('fancy_header.title.font.size')); if ('accent' == $config->get('fancy_header.title.color.mode')) { $title_class .= ' color-accent'; } $title .= sprintf('<h1 class="fancy-title entry-title %s"', $title_class); if ('color' == $config->get('fancy_header.title.color.mode')) { $title .= ' style="color: ' . esc_attr($config->get('fancy_header.title.color')) . '"'; } $title .= '><span>' . strip_tags($custom_title) . '</span></h1>'; } //////////////// // subtitle // //////////////// $sybtitle = $config->get('fancy_header.subtitle'); if ($sybtitle) { $subtitle_class = presscore_get_font_size_class($config->get('fancy_header.subtitle.font.size')); if ('accent' == $config->get('fancy_header.subtitle.color.mode')) { $subtitle_class .= ' color-accent'; } $title .= sprintf('<h2 class="fancy-subtitle %s"', $subtitle_class); if ('color' == $config->get('fancy_header.subtitle.color.mode')) { $title .= ' style="color: ' . esc_attr($config->get('fancy_header.subtitle.color')) . '"'; } $title .= '><span>' . strip_tags($sybtitle) . '</span></h2>'; } // container class $container_classes = array('fancy-header'); if ($title) { $title = '<div class="wf-td hgroup">' . $title . '</div>'; // if title and subtitle empty } else { $container_classes[] = 'titles-off'; } ////////////////// // bredcrumbs // ////////////////// $breadcrumbs = ''; if ('enabled' == $config->get('fancy_header.breadcrumbs')) { $breadcrumbs_args = array('beforeBreadcrumbs' => '<div class="wf-td">', 'afterBreadcrumbs' => '</div>'); $breadcrumbs_class = 'breadcrumbs text-normal'; switch ($config->get('fancy_header.breadcrumbs.bg_color')) { case 'black': $breadcrumbs_class .= ' bg-dark breadcrumbs-bg'; break; case 'white': $breadcrumbs_class .= ' bg-light breadcrumbs-bg'; break; } $breadcrumbs_args['listAttr'] = ' class="' . $breadcrumbs_class . '"'; $breadcrumbs_text_color = $config->get('fancy_header.breadcrumbs.text_color'); if ($breadcrumbs_text_color) { $breadcrumbs_args['listAttr'] .= ' style="color: ' . $breadcrumbs_text_color . ';"'; } $breadcrumbs = presscore_get_breadcrumbs($breadcrumbs_args); } else { $container_classes[] = 'breadcrumbs-off'; } ///////////////// // container // ///////////////// $content = $title . $breadcrumbs; switch ($config->get('fancy_header.title.aligment')) { case 'center': $container_classes[] = 'title-center'; break; case 'right': $container_classes[] = 'title-right'; $content = $breadcrumbs . $title; break; case 'all_left': $container_classes[] = 'content-left'; break; case 'all_right': $container_classes[] = 'content-right'; break; default: $container_classes[] = 'title-left'; } //////////////// // parallax // //////////////// $data_attr = array(); $parallax_speed = $config->get('fancy_header.parallax.speed'); if ($parallax_speed) { $container_classes[] = 'fancy-parallax-bg'; $data_attr[] = 'data-prlx-speed="' . $parallax_speed . '"'; } /////////////////////// // container style // /////////////////////// $container_style = array(); if ($config->get('fancy_header.bg.color')) { $container_style[] = 'background-color: ' . $config->get('fancy_header.bg.color'); } if ($config->get('fancy_header.bg.image')) { $image_meta = wp_get_attachment_image_src(current($config->get('fancy_header.bg.image')), 'full'); if ($image_meta) { if ($config->get('fancy_header.bg.fullscreen')) { $bg_size = 'cover'; $repeat = 'no-repeat'; } else { $bg_size = 'auto auto'; $repeat = $config->get('fancy_header.bg.repeat'); } $container_style[] = "background-size: {$bg_size}"; $container_style[] = "background-repeat: {$repeat}"; $container_style[] = "background-image: url({$image_meta[0]})"; $position_x = $config->get('fancy_header.bg.position.x'); $position_y = $config->get('fancy_header.bg.position.y'); $container_style[] = "background-position: {$position_x} {$position_y}"; if ($config->get('fancy_header.bg.fixed')) { $container_style[] = 'background-attachment: fixed'; } } } ///////////////////// // header height // ///////////////////// $min_h_height = ' style="min-height: ' . $config->get('fancy_header.height') . 'px;"'; $wf_table_height = ' style="height: ' . $config->get('fancy_header.height') . 'px;"'; $container_style[] = 'min-height: ' . $config->get('fancy_header.height') . 'px'; ////////////// // output // ////////////// printf('<header id="fancy-header" class="%1$s" style="%2$s" %3$s> <div class="wf-wrap"> <div class="wf-table"%5$s>%4$s</div> </div> </header>', esc_attr(implode(' ', $container_classes)), esc_attr(implode('; ', $container_style)), implode(' ', $data_attr), $content, $wf_table_height, $min_h_height); }
$element = 'wpb_tabs'; if ('vc_tour' === $this->shortcode) { $element = 'wpb_tour'; } // Extract tab titles preg_match_all('/vc_tab([^\\]]+)/i', $content, $matches, PREG_OFFSET_CAPTURE); $tab_titles = array(); /** * vc_tabs * */ if (isset($matches[1])) { $tab_titles = $matches[1]; } $tabs_nav = ''; $tabs_class = array('wpb_tabs_nav', 'ui-tabs-nav', 'vc_clearfix', presscore_get_font_size_class($title_size)); array_filter($tabs_class); $tabs_nav .= '<ul class="' . esc_attr(implode(' ', $tabs_class)) . '">'; foreach ($tab_titles as $tab) { $tab_atts = shortcode_parse_atts($tab[0]); if (isset($tab_atts['title'])) { $tabs_nav .= '<li><a href="#tab-' . (isset($tab_atts['tab_id']) ? $tab_atts['tab_id'] : sanitize_title($tab_atts['title'])) . '">' . $tab_atts['title'] . '</a></li>'; } } $tabs_nav .= '</ul>'; $css_class = apply_filters(VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, trim($element . ' wpb_content_element ' . $el_class . ' ' . $style), $this->settings['base'], $atts); if ('vc_tour' === $this->shortcode) { $next_prev_nav = '<div class="wpb_tour_next_prev_nav vc_clearfix"> <span class="wpb_prev_slide"><a href="#prev" title="' . __('Previous tab', 'the7mk2') . '">' . __('Previous tab', 'the7mk2') . '</a></span> <span class="wpb_next_slide"><a href="#next" title="' . __('Next tab', 'the7mk2') . '">' . __('Next tab', 'the7mk2') . '</a></span></div>'; } else { $next_prev_nav = ''; }
/** * Retrieve the classes for the top bar as an array. * * @since 1.0.0 * * @param string|array $class One or more classes to add to the class list. * @return array Array of classes */ function presscore_get_top_bar_class($class = '') { $classes = array(); $classes[] = presscore_get_font_size_class(of_get_option('top_bar-font_size')); if ($topbar_bg_mode_class = presscore_get_topbar_bg_mode_class(of_get_option('top_bar-bg_mode'))) { $classes[] = $topbar_bg_mode_class; } $config = presscore_get_config(); switch ($config->get('header.top_bar.mobile.position')) { case 'closed': $classes[] = 'top-bar-hide'; break; case 'opened': $classes[] = 'top-bar-opened'; break; case 'disabled': $classes[] = 'top-bar-disabled'; break; } if (!empty($class)) { if (!is_array($class)) { $class = preg_split('#\\s+#', $class); } $classes = array_merge($classes, $class); } else { // Ensure that we always coerce class to being an array. $class = array(); } $classes = array_map('esc_attr', $classes); return apply_filters('presscore_top_bar_class', $classes, $class); }