/** * Output widget. * * @see WP_Widget * * @param array $args * @param array $instance */ public function widget($args, $instance) { global $comments, $comment; if ($this->get_cached_widget($args)) { return; } ob_start(); $number = !empty($instance['number']) ? absint($instance['number']) : $this->settings['number']['std']; $comments = get_comments(array('number' => $number, 'status' => 'approve', 'post_status' => 'publish', 'post_type' => 'product')); if ($comments) { $this->widget_start($args, $instance); echo '<ul class="product_list_widget">'; foreach ((array) $comments as $comment) { $_product = wc_get_product($comment->comment_post_ID); $rating = intval(get_comment_meta($comment->comment_ID, 'rating', true)); $rating_html = wc_get_rating_html($rating); echo '<li><a href="' . esc_url(get_comment_link($comment->comment_ID)) . '">'; echo $_product->get_image(); echo $_product->get_name() . '</a>'; echo $rating_html; /* translators: %s: review author */ echo '<span class="reviewer">' . sprintf(__('by %s', 'woocommerce'), get_comment_author()) . '</span>'; echo '</li>'; } echo '</ul>'; $this->widget_end($args); } $content = ob_get_clean(); echo $content; $this->cache_widget($args, $content); }
<?php /** * Loop Rating * * This template can be overridden by copying it to yourtheme/woocommerce/loop/rating.php. * * HOWEVER, on occasion WooCommerce will need to update template files and you * (the theme developer) will need to copy the new files to your theme to * maintain compatibility. We try to do this as little as possible, but it does * happen. When this occurs the version of the template file will be bumped and * the readme will list any important changes. * * @see https://docs.woocommerce.com/document/template-structure/ * @author WooThemes * @package WooCommerce/Templates * @version 2.0.0 */ if (!defined('ABSPATH')) { exit; } global $product; if (get_option('woocommerce_enable_review_rating') === 'no') { return; } echo wc_get_rating_html($product->get_average_rating());
/** * Returns the product rating in html format. * * @deprecated 2.7.0 * @param string $rating (default: '') * @return string */ public function get_rating_html($rating = null) { wc_deprecated_function('WC_Product::get_rating_html', '2.7', 'wc_get_rating_html'); return wc_get_rating_html($rating); }