File: //home/scientificreligi/www/wp-content/plugins/auteur-framework/shortcodes/products/template.php
<?php
/**
* Shortcode attributes
* @var $atts
* @var $layout_style
* @var $image_size
* @var $image_ratio
* @var $image_ratio_custom_width
* @var $image_ratio_custom_height
* @var $show
* @var $product_ids
* @var $category
* @var $authors
* @var $show_category_filter
* @var $cate_filter_align
* @var $products_per_page
* @var $columns
* @var $columns_md
* @var $columns_sm
* @var $columns_xs
* @var $columns_mb
* @var $columns_gutter
* @var $orderby
* @var $order
* @var $is_slider
* @var $rows
* @var $dots
* @var $nav
* @var $nav_position
* @var $nav_size
* @var $nav_style
* @var $nav_hover_scheme
* @var $nav_hover_style
* @var $autoplay
* @var $autoplay_timeout
* @var $product_paging
* @var $product_animation
* @var $css_animation
* @var $animation_duration
* @var $animation_delay
* @var $el_class
* @var $css
* @var $responsive
* Shortcode class
* @var $this WPBakeryShortCode_GSF_Products
*/
$layout_style = $image_size = $image_ratio = $image_ratio_custom_width = $image_ratio_custom_height = $show = $product_ids = $category = $authors = $show_category_filter =
$cate_filter_align = $products_per_page = $columns = $columns_md = $columns_sm = $columns_xs = $columns_mb = $columns_gutter = $orderby = $order = $is_slider = $rows =
$dots = $nav = $nav_position = $nav_size = $nav_hover_scheme = $nav_hover_style = $nav_style = $autoplay = $autoplay_timeout = $product_paging = $product_animation = $css_animation = $animation_duration = $animation_delay = $el_class = $css = $responsive = '';
$atts = vc_map_get_attributes( $this->getShortcode(), $atts );
extract( $atts );
$wrapper_classes = array(
'woocommerce',
'gsf-products',
$cate_filter_align,
'clearfix',
G5P()->core()->vc()->customize()->getExtraClass($el_class),
$this->getCSSAnimation($css_animation),
vc_shortcode_custom_css_class( $css ),
$responsive
);
if ('' !== $css_animation && 'none' !== $css_animation) {
$animation_class = G5P()->core()->vc()->customize()->get_animation_class($animation_duration, $animation_delay);
$wrapper_classes[] = $animation_class;
}
if(!in_array($layout_style, array('grid', 'list'))) {
$is_slider = '';
}
$product_visibility_term_ids = wc_get_product_visibility_term_ids();
$query_args = array(
'posts_per_page' => intval($products_per_page),
'post_status' => 'publish',
'post_type' => 'product',
'meta_query' => array(),
'tax_query' => array(
'relation' => 'AND',
),
);
if(($show != 'products')) {
if (!empty($category)) {
$query_args['tax_query'][] = array(
'taxonomy' => 'product_cat',
'terms' => explode(',', $category),
'field' => 'slug',
'operator' => 'IN'
);
$category = G5P()->helper()->get_term_ids_from_slugs(explode(',', $category), 'product_cat');
}
if (!empty($authors)) {
$query_args['tax_query'][] = array(
'taxonomy' => 'product_author',
'terms' => explode(',', $authors),
'field' => 'slug',
'operator' => 'IN'
);
}
} else {
$category = array();
$show_category_filter = '';
}
switch($show) {
case 'sale':
$product_ids_on_sale = wc_get_product_ids_on_sale();
$product_ids_on_sale[] = 0;
$query_args['post__in'] = $product_ids_on_sale;
break;
case 'new-in':
$query_args['orderby'] = 'date';
$query_args['order'] = 'DESC';
break;
case 'featured':
$query_args['tax_query'][] = array(
'taxonomy' => 'product_visibility',
'field' => 'term_taxonomy_id',
'terms' => $product_visibility_term_ids['featured'],
);
break;
case 'top-rated':
$query_args['meta_key'] = '_wc_average_rating';
$query_args['orderby'] = 'meta_value_num';
$query_args['order'] = 'DESC';
$query_args['meta_query'] = WC()->query->get_meta_query();
$query_args['tax_query'] = WC()->query->get_tax_query();
break;
case 'recent-review':
add_filter( 'posts_clauses', array($this, 'order_by_comment_date_post_clauses' ) );
break;
case 'best-selling' :
$query_args['meta_key'] = 'total_sales';
$query_args['orderby'] = 'meta_value_num';
break;
case 'products':
if ( ! empty( $product_ids ) ) {
$product_ids = explode( ',', $product_ids );
$query_args['post__in'] = $product_ids;
$query_args['posts_per_page'] = -1;
$query_args['orderby'] = 'post__in';
}
break;
}
if (in_array($show,array('all','sale','featured'))) {
$query_args['order'] = $order;
switch ( $orderby ) {
case 'price' :
$query_args['meta_key'] = '_price';
$query_args['orderby'] = 'meta_value_num';
break;
case 'rand' :
$query_args['orderby'] = 'rand';
break;
case 'sales' :
$query_args['meta_key'] = 'total_sales';
$query_args['orderby'] = 'meta_value_num';
break;
default :
$query_args['orderby'] = 'date';
}
}
if($show =='recent-review' ){
remove_filter( 'posts_clauses', array($this, 'order_by_comment_date_post_clauses' ) );
}
$settings = array(
'post_layout' => $layout_style,
'post_columns' => array(
'xl' => $columns,
'lg' => $columns_md,
'md' => $columns_sm,
'sm' => $columns_xs,
'' => $columns_mb
),
'post_columns_gutter' => $columns_gutter,
'post_paging' => $product_paging,
'itemSelector' => 'article',
'category_filter_enable' => false,
'post_type' => 'product',
'cat' => $category,
'image_size' => $image_size,
'image_ratio' => $image_ratio,
'image_ratio_custom' => array(
'width' => intval($image_ratio_custom_width),
'height' => intval($image_ratio_custom_height)
)
);
if('none' === $product_paging) {
$query_args['no_found_rows'] = 1;
}
if($product_animation !== '') {
$settings['post_animation'] = $product_animation;
}
if('on' === $show_category_filter) {
$settings['category_filter_enable'] = true;
$settings['current_cat'] = -1;
}
$columns = intval($columns);
$columns_gutter = intval($columns_gutter);
$columns_md = intval($columns_md);
$columns_sm = intval($columns_sm);
$columns_xs = intval($columns_xs);
$columns_mb = intval($columns_mb);
if($layout_style == 'list') {
$columns = $columns_md = $columns_sm = $columns_xs = $columns_mb = 1;
}
$carousel_class = 'gsf-slider-container item-gutter-' . $columns_gutter;
if('on' === $is_slider) {
$settings['post_paging'] = 'none';
if($rows == 1) {
$owl_args = array(
'items' => $columns,
'margin' => 0,
'slideBy' => $columns,
'dots' => ($dots === 'on') ? true : false,
'nav' => ($nav === 'on') ? true : false,
'responsive' => array(
'1200' => array(
'items' => $columns,
'slideBy' => $columns,
),
'992' => array(
'items' => $columns_md,
'slideBy' => $columns_md,
),
'768' => array(
'items' => $columns_sm,
'slideBy' => $columns_sm,
),
'576' => array(
'items' => $columns_xs,
'slideBy' => $columns_xs,
),
'0' => array(
'items' => $columns_mb,
'slideBy' => $columns_mb,
)
),
'autoHeight' => true,
'autoplay' => ($autoplay === 'on') ? true : false,
'autoplayTimeout' => intval($autoplay_timeout),
);
} else {
$settings['itemSelector'] = '.owl-item-inner';
$owl_args = array(
'items' => 1,
'margin' => 0,
'slideBy' => 1,
'dots' => ($dots === 'on') ? true : false,
'nav' => ($nav === 'on') ? true : false,
'autoHeight' => true,
'autoplay' => ($autoplay === 'on') ? true : false,
'autoplayTimeout' => intval($autoplay_timeout),
);
$settings['carousel_rows'] = array(
'rows' => intval($rows),
'items_show' => $rows*$columns
);
}
if($nav_style == 'nav-square-text' || $nav_style == 'nav-circle-text') {
$owl_args['navText'] = array('<i class="fal fa-angle-left"></i> <span>'.esc_html__( 'Prev', 'auteur-framework' ).'</span>', '<span>'.esc_html__( 'Next', 'auteur-framework' ).'</span> <i class="fal fa-angle-right"></i>');
}
if($nav === 'on') {
$carousel_class .= ' ' . $nav_position. ' ' . $nav_style . ' ' .$nav_size. ' ' .$nav_hover_scheme .' '.$nav_hover_style;
}
if(!empty($carousel_class)) {
$settings['carousel_class'] = $carousel_class;
}
$settings['carousel'] = $owl_args;
}
$class_to_filter = implode(' ', array_filter($wrapper_classes) );
$class_to_filter .= vc_shortcode_custom_css_class($css, ' ');
$css_class = apply_filters(VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, $class_to_filter, $this->getShortcode(), $atts);
?>
<div class="<?php echo esc_attr($css_class) ?>">
<?php if (function_exists('G5Plus_Auteur')) {G5Plus_Auteur()->woocommerce()->archive_markup($query_args, $settings);} ?>
</div>