Created
January 5, 2022 06:59
-
-
Save trueqap/bfb974697029c067fca07c4e6bf5ca06 to your computer and use it in GitHub Desktop.
WooCommerce Single Product Rating - Bootstrap 5 + FontAwesome
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Single Product Rating | |
* | |
* This template can be overridden by copying it to yourtheme/woocommerce/single-product/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/ | |
* @package WooCommerce\Templates | |
* @version 3.6.0 | |
*/ | |
if (! defined('ABSPATH')) { | |
exit; // Exit if accessed directly. | |
} | |
global $product; | |
if (! wc_review_ratings_enabled()) { | |
return; | |
} | |
$rating_count = $product->get_rating_count(); | |
$review_count = $product->get_review_count(); | |
$average = $product->get_average_rating(); | |
?> | |
<?php | |
if ($rating_count > 0) : ?> | |
<div class="d-sm-flex align-items-center mt-0 mt-sm-2"> | |
<?php //echo wc_get_rating_html($average, $rating_count); // WPCS: XSS ok.?> | |
<?php if (! empty($rating_count)) : ?> | |
<ul class="list-inline mb-0"> | |
<?php | |
function get_rating_bootstrap($rate) | |
{ | |
if ($rate > 0) { | |
$rate_int = $rate/0.5; | |
for ($i=1; $i<=floor($rate); $i++) { | |
echo "<li class='list-inline-item me-0 small'><i class='fas fa-star text-warning'></i></li>"; | |
} | |
if (($rate_int % 2) == 0) { | |
for ($i=1; $i<=6-$rate; $i++) { | |
echo "<li class='list-inline-item me-0 small'><i class='far fa-star text-warning'></i></li>"; | |
} | |
} else { | |
echo "<li class='list-inline-item me-0 small'><i class='fas fa-star-half-alt text-warning'></i></li>"; | |
for ($i=1; $i<=6-($rate+1); $i++) { | |
echo "<li class='list-inline-item me-0 small'><i class='fas fa-star-half-alt text-warning'></i></li>"; | |
} | |
} | |
} else { | |
// echo "<i style='color: red'>Not Yet rated</i>"; | |
} | |
} | |
get_rating_bootstrap($average); | |
?> | |
</ul> | |
<?php endif; ?> | |
<?php if (comments_open()) : ?> | |
<?php //phpcs:disable?> | |
<a href="#reviews" class="woocommerce-review-link ms-1" rel="nofollow">(<?php printf(_n('%s customer review', '%s customer reviews', $review_count, 'woocommerce'), '<span class="count">' . esc_html($review_count) . '</span>'); ?>)</a> | |
<?php // phpcs:enable?> | |
<?php endif ?> | |
<?php endif; ?> | |
</div> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment