Exemplo n.º 1
0
function axiom_sc_slider($atts, $content = null)
{
    if (axiom_sc_in_shortcode_blogger()) {
        return '';
    }
    extract(axiom_sc_html_decode(shortcode_atts(array("engine" => axiom_get_custom_option('substitute_slider_engine'), "custom" => "no", "alias" => "", "post_type" => "post", "ids" => "", "cat" => "", "count" => "0", "offset" => "", "orderby" => "date", "order" => 'desc', "controls" => "no", "pagination" => "no", "titles" => "no", "descriptions" => axiom_get_custom_option('slider_info_descriptions'), "links" => "no", "align" => "", "interval" => "", "date_format" => "", "crop" => "yes", "autoheight" => "no", "id" => "", "class" => "", "animation" => "", "css" => "", "width" => "", "height" => "", "top" => "", "bottom" => "", "left" => "", "right" => ""), $atts)));
    if (empty($width) && $pagination != 'full') {
        $width = "100%";
    }
    if (empty($height) && ($pagination == 'full' || $pagination == 'over')) {
        $height = 250;
    }
    if (!empty($height) && axiom_sc_param_is_on($autoheight)) {
        $autoheight = "off";
    }
    if (empty($interval)) {
        $interval = mt_rand(5000, 10000);
    }
    global $AXIOM_GLOBALS;
    $AXIOM_GLOBALS['sc_slider_engine'] = $engine;
    $AXIOM_GLOBALS['sc_slider_width'] = axiom_prepare_css_value($width);
    $AXIOM_GLOBALS['sc_slider_height'] = axiom_prepare_css_value($height);
    $AXIOM_GLOBALS['sc_slider_links'] = axiom_sc_param_is_on($links);
    $AXIOM_GLOBALS['sc_slider_bg_image'] = false;
    $AXIOM_GLOBALS['sc_slider_crop_image'] = $crop;
    if (empty($id)) {
        $id = "sc_slider_" . str_replace('.', '', mt_rand());
    }
    $ms = axiom_get_css_position_from_values($top, $right, $bottom, $left);
    $ws = axiom_get_css_position_from_values('', '', '', '', $width);
    $hs = axiom_get_css_position_from_values('', '', '', '', '', $height);
    $css .= (!in_array($pagination, array('full', 'over')) ? $ms : '') . $hs . $ws;
    if ($engine != 'swiper' && in_array($pagination, array('full', 'over'))) {
        $pagination = 'yes';
    }
    $output = (in_array($pagination, array('full', 'over')) ? '<div class="sc_slider_pagination_area sc_slider_pagination_' . esc_attr($pagination) . ($align != '' && $align != 'none' ? ' align' . esc_attr($align) : '') . '"' . (!axiom_sc_param_is_off($animation) ? ' data-animation="' . esc_attr(axiom_sc_get_animation_classes($animation)) . '"' : '') . ($ms . $hs ? ' style="' . esc_attr($ms . $hs) . '"' : '') . '>' : '') . '<div' . ($id ? ' id="' . esc_attr($id) . '"' : '') . ' class="sc_slider sc_slider_' . esc_attr($engine) . ($engine == 'swiper' ? ' swiper-slider-container' : '') . (!empty($class) ? ' ' . esc_attr($class) : '') . (axiom_sc_param_is_on($autoheight) ? ' sc_slider_height_auto' : '') . ($hs ? ' sc_slider_height_fixed' : '') . (axiom_sc_param_is_on($controls) ? ' sc_slider_controls' : ' sc_slider_nocontrols') . (axiom_sc_param_is_on($pagination) ? ' sc_slider_pagination' : ' sc_slider_nopagination') . (!in_array($pagination, array('full', 'over')) && $align != '' && $align != 'none' ? ' align' . esc_attr($align) : '') . '"' . (!in_array($pagination, array('full', 'over')) && !axiom_sc_param_is_off($animation) ? ' data-animation="' . esc_attr(axiom_sc_get_animation_classes($animation)) . '"' : '') . (!empty($width) && axiom_strpos($width, '%') === false ? ' data-old-width="' . esc_attr($width) . '"' : '') . (!empty($height) && axiom_strpos($height, '%') === false ? ' data-old-height="' . esc_attr($height) . '"' : '') . ((int) $interval > 0 ? ' data-interval="' . esc_attr($interval) . '"' : '') . ($css != '' ? ' style="' . esc_attr($css) . '"' : '') . '>';
    axiom_enqueue_slider($engine);
    if ($engine == 'revo') {
        if (axiom_exists_revslider() && !empty($alias)) {
            $output .= do_shortcode('[rev_slider ' . esc_attr($alias) . ']');
        } else {
            $output = '';
        }
    } else {
        if ($engine == 'swiper') {
            $caption = '';
            $output .= '<div class="slides' . ($engine == 'swiper' ? ' swiper-wrapper' : '') . '"' . ($engine == 'swiper' && $AXIOM_GLOBALS['sc_slider_bg_image'] ? ' style="' . esc_attr($hs) . '"' : '') . '>';
            $content = do_shortcode($content);
            if (axiom_sc_param_is_on($custom) && $content) {
                $output .= $content;
            } else {
                global $post;
                if (!empty($ids)) {
                    $posts = explode(',', $ids);
                    $count = count($posts);
                }
                $args = array('post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => $count, 'ignore_sticky_posts' => 1, 'order' => $order == 'asc' ? 'asc' : 'desc');
                if ($offset > 0 && empty($ids)) {
                    $args['offset'] = $offset;
                }
                $args = axiom_query_add_sort_order($args, $orderby, $order);
                $args = axiom_query_add_filters($args, 'thumbs');
                $args = axiom_query_add_posts_and_cats($args, $ids, $post_type, $cat);
                $query = new WP_Query($args);
                $post_number = 0;
                $pagination_items = '';
                $show_image = 1;
                $show_types = 0;
                $show_date = 1;
                $show_author = 0;
                $show_links = 0;
                $show_counters = 'views';
                //comments | rating
                while ($query->have_posts()) {
                    $query->the_post();
                    $post_number++;
                    $post_id = get_the_ID();
                    $post_type = get_post_type();
                    $post_title = get_the_title();
                    $post_link = get_permalink();
                    $post_link2 = $post_link;
                    $post_date = get_the_date(!empty($date_format) ? $date_format : 'd.m.y');
                    $post_attachment = wp_get_attachment_url(get_post_thumbnail_id($post_id));
                    if (axiom_sc_param_is_on($crop)) {
                        $post_attachment = $AXIOM_GLOBALS['sc_slider_bg_image'] ? axiom_get_resized_image_url($post_attachment, !empty($width) && (double) $width . ' ' == $width . ' ' ? $width : null, !empty($height) && (double) $height . ' ' == $height . ' ' ? $height : null) : axiom_get_resized_image_tag($post_attachment, !empty($width) && (double) $width . ' ' == $width . ' ' ? $width : null, !empty($height) && (double) $height . ' ' == $height . ' ' ? $height : null);
                    } else {
                        if (!$AXIOM_GLOBALS['sc_slider_bg_image']) {
                            $post_attachment = '<img src="' . esc_url($post_attachment) . '" alt="">';
                        }
                    }
                    $post_accent_color = '';
                    $post_category = '';
                    $post_category_link = '';
                    if (in_array($pagination, array('full', 'over'))) {
                        $old_output = $output;
                        $output = '';
                        require axiom_get_file_dir('templates/parts/widgets-posts.php');
                        $pagination_items .= $output;
                        $output = $old_output;
                    }
                    $output .= '<div' . ' class="' . esc_attr($engine) . '-slide"' . ' data-style="' . esc_attr($ws . $hs) . '"' . ' style="' . ($AXIOM_GLOBALS['sc_slider_bg_image'] ? 'background-image:url(' . esc_url($post_attachment) . ');' : '') . $ws . $hs . '"' . '>' . (axiom_sc_param_is_on($links) ? '<a href="' . esc_url($post_link2) . '" title="' . esc_attr($post_title) . '">' : '') . (!$AXIOM_GLOBALS['sc_slider_bg_image'] ? $post_attachment : '');
                    $caption = $engine == 'swiper' ? '' : $caption;
                    if (!axiom_sc_param_is_off($titles)) {
                        $post_hover_bg = axiom_get_custom_option('link_color', null, $post_id);
                        $post_bg = '';
                        if ($post_hover_bg != '' && !axiom_is_inherit_option($post_hover_bg)) {
                            $rgb = axiom_hex2rgb($post_hover_bg);
                            $post_hover_ie = str_replace('#', '', $post_hover_bg);
                            $post_bg = "background-color: rgba({$rgb['r']},{$rgb['g']},{$rgb['b']},0.8);";
                        }
                        $caption .= '<div class="sc_slider_info' . ($titles == 'fixed' ? ' sc_slider_info_fixed' : '') . ($engine == 'swiper' ? ' content-slide' : '') . '"' . ($post_bg != '' ? ' style="' . esc_attr($post_bg) . '"' : '') . '>';
                        $post_descr = axiom_get_post_excerpt();
                        if (axiom_get_custom_option("slider_info_category") == 'yes') {
                            // || empty($cat)) {
                            // Get all post's categories
                            $post_tax = axiom_get_taxonomy_categories_by_post_type($post_type);
                            if (!empty($post_tax)) {
                                $post_terms = axiom_get_terms_by_post_id(array('post_id' => $post_id, 'taxonomy' => $post_tax));
                                if (!empty($post_terms[$post_tax])) {
                                    if (!empty($post_terms[$post_tax]->closest_parent)) {
                                        $post_category = $post_terms[$post_tax]->closest_parent->name;
                                        $post_category_link = $post_terms[$post_tax]->closest_parent->link;
                                        //$post_accent_color = axiom_taxonomy_get_inherited_property($post_tax, $post_terms[$post_tax]->closest_parent->term_id, 'link_color');
                                    }
                                    /*
                                    if ($post_accent_color == '' && !empty($post_terms[$post_tax]->terms)) {
                                    	for ($i = 0; $i < count($post_terms[$post_tax]->terms); $i++) {
                                    		$post_accent_color = axiom_taxonomy_get_inherited_property($post_tax, $post_terms[$post_tax]->terms[$i]->term_id, 'link_color');
                                    		if ($post_accent_color != '') break;
                                    	}
                                    }
                                    */
                                    if ($post_category != '') {
                                        $caption .= '<div class="sc_slider_category"' . (axiom_substr($post_accent_color, 0, 1) == '#' ? ' style="background-color: ' . esc_attr($post_accent_color) . '"' : '') . '><a href="' . esc_url($post_category_link) . '">' . $post_category . '</a></div>';
                                    }
                                }
                            }
                        }
                        $output_reviews = '';
                        if (axiom_get_custom_option('show_reviews') == 'yes' && axiom_get_custom_option('slider_info_reviews') == 'yes') {
                            $avg_author = axiom_reviews_marks_to_display(get_post_meta($post_id, 'reviews_avg' . (axiom_get_theme_option('reviews_first') == 'author' && $orderby != 'users_rating' || $orderby == 'author_rating' ? '' : '2'), true));
                            if ($avg_author > 0) {
                                $output_reviews .= '<div class="sc_slider_reviews post_rating reviews_summary blog_reviews' . (axiom_get_custom_option("slider_info_category") == 'yes' ? ' after_category' : '') . '">' . '<div class="criteria_summary criteria_row">' . trim(axiom_reviews_get_summary_stars($avg_author, false, false, 5)) . '</div>' . '</div>';
                            }
                        }
                        if (axiom_get_custom_option("slider_info_category") == 'yes') {
                            $caption .= $output_reviews;
                        }
                        $caption .= '<h3 class="sc_slider_subtitle"><a href="' . esc_url($post_link2) . '">' . $post_title . '</a></h3>';
                        if (axiom_get_custom_option("slider_info_category") != 'yes') {
                            $caption .= $output_reviews;
                        }
                        if ($descriptions > 0) {
                            $caption .= '<div class="sc_slider_descr">' . trim(axiom_strshort($post_descr, $descriptions)) . '</div>';
                        }
                        $caption .= '</div>';
                    }
                    $output .= ($engine == 'swiper' ? $caption : '') . (axiom_sc_param_is_on($links) ? '</a>' : '') . '</div>';
                }
                wp_reset_postdata();
            }
            $output .= '</div>';
            if ($engine == 'swiper') {
                if (axiom_sc_param_is_on($controls)) {
                    $output .= '<div class="sc_slider_controls_wrap"><a class="sc_slider_prev" href="#"></a><a class="sc_slider_next" href="#"></a></div>';
                }
                if (axiom_sc_param_is_on($pagination)) {
                    $output .= '<div class="sc_slider_pagination_wrap"></div>';
                }
            }
        } else {
            $output = '';
        }
    }
    if (!empty($output)) {
        $output .= '</div>';
        if (!isset($pagination_items)) {
            $pagination_items = '';
        }
        if ($pagination_items) {
            $output .= '
				<div class="sc_slider_pagination widget_area"' . ($hs ? ' style="' . esc_attr($hs) . '"' : '') . '>
					<div id="' . esc_attr($id) . '_scroll" class="sc_scroll sc_scroll_vertical swiper-slider-container scroll-container"' . ($hs ? ' style="' . esc_attr($hs) . '"' : '') . '>
						<div class="sc_scroll_wrapper swiper-wrapper">
							<div class="sc_scroll_slide swiper-slide">
								' . $pagination_items . '
							</div>
						</div>
						<div id="' . esc_attr($id) . '_scroll_bar" class="sc_scroll_bar sc_scroll_bar_vertical"></div>
					</div>
				</div>';
            $output .= '</div>';
        }
    }
    return apply_filters('axiom_shortcode_output', $output, 'trx_slider', $atts, $content);
}
Exemplo n.º 2
0
Arquivo: blog.php Projeto: pcuervo/odc
$page_number = get_query_var('paged') ? get_query_var('paged') : (get_query_var('page') ? get_query_var('page') : 1);
$wp_query_need_restore = false;
$args = $wp_query->query_vars;
$args['post_status'] = current_user_can('read_private_pages') && current_user_can('read_private_posts') ? array('publish', 'private') : 'publish';
if (is_page() || !empty($AXIOM_GLOBALS['blog_filters'])) {
    unset($args['p']);
    unset($args['page_id']);
    unset($args['pagename']);
    unset($args['name']);
    $args['posts_per_page'] = $ppp;
    if ($page_number > 1) {
        $args['paged'] = $page_number;
        $args['ignore_sticky_posts'] = 1;
    }
    $args = axiom_query_add_sort_order($args);
    $args = axiom_query_add_filters($args, !empty($AXIOM_GLOBALS['blog_filters']) ? $AXIOM_GLOBALS['blog_filters'] : '');
    query_posts($args);
    $wp_query_need_restore = true;
}
$per_page = count($wp_query->posts);
$post_number = 0;
$parent_tax_id = (int) axiom_get_custom_option('taxonomy_id');
$flt_ids = array();
$container = apply_filters('axiom_filter_blog_container', axiom_get_template_property($blog_style, 'container'), array('style' => $blog_style, 'dir' => 'horizontal'));
$container_start = $container_end = '';
if (!empty($container)) {
    $container = explode('%s', $container);
    $container_start = !empty($container[0]) ? $container[0] : '';
    $container_end = !empty($container[1]) ? $container[1] : '';
}
echo $container_start;