post_author; }else { $inheritUser = null; } try { $gmb = JVB()->connect('gmb', $inheritUser); if (!$gmb->isSetUp()) { error_log('GMB Not set up for: '.(int)$inheritUser); return ''; } $gotReviews = $gmb->getReviews(); // Get all data $allReviews = $gotReviews['reviews']??[]; $reviewUrl = $gmb->getReviewUrl(); $viewAllUrl = $gmb->getReviewsViewUrl(); $average = $gotReviews['averageRating']??null; $total = $gotReviews['totalReviewCount']??null; // Filter reviews by minimum stars $reviews = []; if (!empty($allReviews)) { foreach ($allReviews as $review) { $rating = $review['starRating'] ?? 0; if ($rating >= $minStars) { $reviews[] = $review; if (count($reviews) >= $count) { break; // Got enough reviews } } } } if (empty($reviews) && empty($reviewUrl) && empty($stats)) { error_log('No reviews to display...'); return ''; } ob_start(); ?>
= 0.5; for ($i = 1; $i <= 5; $i++) { if ($i <= $fullStars) { echo jvbIcon('star', ['style' => 'fill']); } elseif ($i == $fullStars + 1 && $hasHalfStar) { echo jvbIcon('star-half', ['style'=> 'fill']); } else { echo jvbIcon('star', ['style' => 'light']); } } ?> Average
0) { ?>{ = number_format($total ) . ' ' . _n('Review', 'Reviews', $total, 'jvb')?> Total }
= apply_filters('wpautop', $comment) ?>
= jvbIcon('user-circle')?>0) { ?>'fill']) : jvbIcon('star', ['style' => 'light']); } ?>= esc_html($reviewer)?>