protected function content($atts, $content = null) { $atts = function_exists('vc_map_get_attributes') ? vc_map_get_attributes('list_product_megamenu', $atts) : $atts; $atts = shortcode_atts(array('title' => '', 'cat' => 0, 'number' => 4, 'types' => 'sale', 'css_animation' => '', 'el_class' => '', 'css' => ''), $atts); extract($atts); global $woocommerce_loop; $elementClass = array('base' => apply_filters(VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, 'list_product_megamenu', $this->settings['base'], $atts), 'extra' => $this->getExtraClass($el_class), 'css_animation' => $this->getCSSAnimation($css_animation), 'shortcode_custom' => vc_shortcode_custom_css_class($css, ' ')); $elementClass = preg_replace(array('/\\s+/', '/^\\s|\\s$/'), array(' ', ''), implode(' ', $elementClass)); ob_start(); $meta_query = WC()->query->get_meta_query(); $query = array('post_type' => 'product', 'post_status' => 'publish', 'ignore_sticky_posts' => 1, 'posts_per_page' => $number, 'meta_query' => $meta_query); global $woocommerce_loop; $woocommerce_loop['columns'] = $number; if ($cat > 0) { $query['tax_query'] = array(array('taxonomy' => 'product_cat', 'field' => 'id', 'terms' => $cat)); } if ($types == 'arrival') { $query['orderby'] = 'date'; $query['order'] = 'DESC'; } if ($types == 'sale') { $product_ids_on_sale = wc_get_product_ids_on_sale(); $query['meta_key'] = 'total_sales'; $query['orderby'] = 'meta_value_num'; $query['post__in'] = array_merge(array(0), $product_ids_on_sale); } if ($types == 'review') { add_filter('posts_clauses', array($this, 'order_by_rating_post_clauses')); } $products = new WP_Query(apply_filters('woocommerce_shortcode_products_query', $query, $atts)); if ($types == 'review') { remove_filter('posts_clauses', array($this, 'order_by_rating_post_clauses')); } $bootstrapColumn = round(12 / $number); if ($products->have_posts()) { ?> <div class="mega-group <?php echo esc_attr($elementClass); ?> "> <?php if ($title != "") { ?> <h4 class="mega-group-header"><span><?php echo esc_attr($title); ?> </span></h4> <?php } ?> <div class="mega-products row"> <?php while ($products->have_posts()) { $products->the_post(); ?> <?php global $product; $rating_count = $product->get_rating_count(); ?> <div class="col-sm-<?php echo esc_attr($bootstrapColumn); ?> mega-product"> <div class="product-avatar"> <a href="<?php the_permalink(); ?> "> <?php the_post_thumbnail('shop_catalog'); ?> </a> </div> <div class="product-name"> <a href="<?php the_permalink(); ?> "><?php the_title(); ?> </a> </div> <div class="price-box"> <?php woocommerce_template_loop_price(); ?> </div> <?php echo edo_display_rating($rating_count); ?> </div> <?php } // end of the loop. ?> </div> </div> <?php } return ob_get_clean(); }
comment_ID(); ?> " class="comment_container"> <?php echo get_avatar($comment, apply_filters('woocommerce_review_gravatar_size', '60'), ''); ?> <div class="comment-text"> <?php if ($rating && get_option('woocommerce_enable_review_rating') == 'yes') { ?> <?php echo edo_display_rating($rating); ?> <?php } ?> <?php if ($comment->comment_approved == '0') { ?> <p class="meta"><em><?php esc_html_e('Your comment is awaiting approval', 'woocommerce'); ?> </em></p>
if (!defined('ABSPATH')) { exit; // Exit if accessed directly } global $product; if (get_option('woocommerce_enable_review_rating') === 'no') { return; } $rating_count = $product->get_rating_count(); $review_count = $product->get_review_count(); $average = $product->get_average_rating(); if ($rating_count > 0) { ?> <div class="woocommerce-product-rating" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> <?php echo edo_display_rating($rating_count); ?> <?php if (comments_open()) { ?> <a href="#reviews" class="woocommerce-review-link" rel="nofollow">(<?php printf(_n('%s customer review', '%s customer reviews', $review_count, 'woocommerce'), '<span itemprop="reviewCount" class="count">' . $review_count . '</span>'); ?> )</a><?php } ?> </div> <?php }