WCFM商家评分无法在WooCommerce单品页正常显示的问题求助
WCFM商家评分无法在WooCommerce单品页正常显示的问题求助
我是个编程新手,最近想在WooCommerce单品页面上显示WCFM商家的评分,但试了好多次都没成功——要么显示「No ratings available yet !」,要么所有星星都是灰色的。
我翻了网站的文件,自己写了一段代码(放在functions.php里,怕改别的地方弄坏网站),但看起来代码没有正确获取到商家的评分数据,我完全不知道哪里出了问题。
下面是我写的代码:
function get_vendor_rating($vendor_id) { $store_rating = 0; if (function_exists('WCFMmp') && method_exists(WCFMmp(), 'get_vendor_review_rating')) { $store_rating = WCFMmp()->get_vendor_review_rating($vendor_id); } return $store_rating; } function get_vendor_reviews_count($vendor_id, $status = 'approved') { global $wpdb; $reviews_count = 0; $sql = "SELECT COUNT(ID) FROM {$wpdb->prefix}wcfm_marketplace_reviews WHERE vendor_id = %d AND approved = %d"; $reviews_count = $wpdb->get_var($wpdb->prepare($sql, $vendor_id, ($status === 'approved' ? 1 : 0))); return $reviews_count; } function display_vendor_rating() { global $product; $product_id = $product->get_id(); $vendor_id = get_post_field('post_author', $product_id); echo '<div style="display: none;">Product ID: ' . $product_id . '</div>'; echo '<div style="display: none;">Vendor ID: ' . $vendor_id . '</div>'; $vendor_rating = get_vendor_rating($vendor_id); if ($vendor_rating || $vendor_rating === 0) { // rating is explicitly 0 $count = get_vendor_reviews_count($vendor_id); $star_rating_html = wp_star_rating(array( 'rating' => $vendor_rating, 'type' => 'rating', 'number' => $count, 'echo' => false, )); echo '<div class="vendor-rating">' . $star_rating_html . '</div>'; } else { echo '<div class="vendor-rating">No ratings found yet!</div>'; } } add_action('woocommerce_single_product_summary', 'display_vendor_rating', 60);
希望各位大佬能帮我排查下问题,感谢大家的帮助!
备注:内容来源于stack exchange,提问作者Aya B.B
相关产品推荐
相关产品推荐

