Exemple #1
0
/**
 * Title controller.
 *
 */
function dt_woocommerce_title_controller()
{
    $config = Presscore_Config::get_instance();
    $title_mode = $config->get('header_title');
    if ('disabled' != $title_mode) {
        $title_align = of_get_option('general-title_align', 'center');
        $title_classes = array('page-title');
        switch ($title_align) {
            case 'right':
                $title_classes[] = 'title-right';
                break;
            case 'left':
                $title_classes[] = 'title-left';
                break;
            default:
                $title_classes[] = 'title-center';
        }
        $before_title = '<div class="' . esc_attr(implode(' ', $title_classes)) . '"><div class="wf-wrap"><div class="wf-table">';
        $after_title = '</div></div></div>';
        $breadcrumbs = apply_filters('dt_sanitize_flag', of_get_option('general-show_breadcrumbs', 1));
        echo $before_title;
        if ('right' == $title_align) {
            if ($breadcrumbs) {
                echo presscore_get_breadcrumbs();
            }
            echo '<div class="wf-td"><h1>';
            woocommerce_page_title();
            echo '</h1></div>';
        } else {
            echo '<div class="wf-td"><h1>';
            woocommerce_page_title();
            echo '</h1></div>';
            if ($breadcrumbs) {
                echo presscore_get_breadcrumbs();
            }
        }
        echo $after_title;
    }
}
    /**
     * 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);
    }
 function presscore_get_page_title_breadcrumbs($args = array())
 {
     $config = Presscore_Config::get_instance();
     $breadcrumbs_class = 'breadcrumbs text-normal';
     switch ($config->get('page_title.breadcrumbs.background.mode')) {
         case 'black':
             $breadcrumbs_class .= ' bg-dark breadcrumbs-bg';
             break;
         case 'white':
             $breadcrumbs_class .= ' bg-light breadcrumbs-bg';
             break;
     }
     $default_args = array('beforeBreadcrumbs' => '<div class="wf-td">', 'afterBreadcrumbs' => '</div>', 'listAttr' => ' class="' . $breadcrumbs_class . '"');
     $args = wp_parse_args($args, $default_args);
     return presscore_get_breadcrumbs($args);
 }
Exemple #4
0
    /**
     * Fancy header controller.
     *
     */
    function presscore_fancy_header_controller()
    {
        $config = Presscore_Config::get_instance();
        if ('fancy' != $config->get('header_title')) {
            return;
        }
        // turn off regular titles and breadcrumbs
        remove_action('presscore_before_main_container', 'presscore_page_title_controller', 16);
        $title_color_esc = esc_attr($config->get('fancy_header_title_color'));
        // title and sub title
        $title = '';
        if ($config->get('fancy_header_title')) {
            $title .= '<h1 class="fancy-title"';
            if ($title_color_esc) {
                $title .= ' style="color: ' . $title_color_esc . '"';
            }
            $title .= '>' . wp_kses_post($config->get('fancy_header_title')) . '</h1>';
        }
        if ($config->get('fancy_header_subtitle')) {
            $title .= '<h2 class="fancy-subtitle"';
            if ($config->get('fancy_header_subtitle_color')) {
                $title .= ' style="color: ' . esc_attr($config->get('fancy_header_subtitle_color')) . '"';
            }
            $title .= '>' . wp_kses_post($config->get('fancy_header_subtitle')) . '</h2>';
        }
        if ($title) {
            $title = '<div class="wf-td hgroup">' . $title . '</div>';
        }
        // breadcrumbs
        // remove wrap from bredcrumbs
        $breadcrumbs = '';
        if (apply_filters('dt_sanitize_flag', of_get_option('general-show_breadcrumbs', 1))) {
            remove_filter('presscore_get_breadcrumbs', 'presscore_add_divider_wrap_to_breadcrumbs', 15);
            $breadcrumbs = presscore_get_breadcrumbs();
            add_filter('presscore_get_breadcrumbs', 'presscore_add_divider_wrap_to_breadcrumbs', 15);
        }
        // paint breadcrumbs
        if ($title_color_esc) {
            $breadcrumbs = str_replace('<li', '<li style="color: ' . esc_attr($title_color_esc) . ';"', $breadcrumbs);
        }
        $content = $title . $breadcrumbs;
        // container classes
        $container_classes = array('fancy-header');
        switch ($config->get('fancy_header_title_aligment')) {
            case 'center':
                $container_classes[] = 'title-center';
                break;
            case 'right':
                $container_classes[] = 'title-right';
                $content = $breadcrumbs . $title;
                break;
            default:
                $container_classes[] = 'title-left';
        }
        $parallax_speed = $config->get('fancy_header_parallax_speed');
        // parallax
        $data_attr = array();
        if ($parallax_speed) {
            $container_classes[] = 'fancy-parallax-bg';
            $data_attr[] = 'data-prlx-speed="' . $parallax_speed . '"';
        }
        if (!of_get_option('general-show_breadcrumbs', true)) {
            $container_classes[] = 'breadcrumbs-off';
        }
        // 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) {
                $container_style[] = "background-image: url({$image_meta[0]})";
                $repeat = $config->get('fancy_header_bg_repeat');
                $position_x = $config->get('fancy_header_bg_position_x');
                $position_y = $config->get('fancy_header_bg_position_y');
                $container_style[] = "background-repeat: {$repeat}";
                $container_style[] = "background-position: {$position_x} {$position_y}";
                $fullscreen = $config->get('fancy_header_bg_fullscreen');
                if ($fullscreen) {
                    $container_style[] = 'background-size: cover';
                }
                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';
        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);
    }