[英]Getting a WooCommerce Product Properties from WP_Query Loop
我有一個使用 WP_Query 循環遍歷產品帖子類型的函數。 在此功能中,我可以從帖子對象中獲取產品帖子的永久鏈接、標題、圖像等內容。 但是,對於循環中的每個產品,我需要訪問產品對象,因為我想計算和顯示評論評級。 我使用全局 $product 然后 $product->get_rating_count() 等來獲取所需的數據。 然而,在調試另一段代碼時,我發現眾所周知的“ID 被錯誤調用”。 不應直接訪問產品屬性。 此函數的錯誤。
一切仍然有效(關閉調試),但我想確保它在 WooCommerce 的未來版本中仍然有效。 有誰知道我可以從 WP_Query 循環(即通過產品帖子類型循環)訪問產品對象屬性而不會出現此錯誤?
這是我的代碼....
<?php
// Get the product rating
global $product;
if ( 'no' === get_option( 'woocommerce_enable_review_rating' ) ) {
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">
<?php echo wc_get_rating_html( $average, $rating_count ); ?>
<?php if ( comments_open() ) : ?>
<a href="<?php echo get_permalink( $product->ID ); ?>#reviews" class="woocommerce-review-link" rel="nofollow">(
<?php printf( _n( '%s customer review', '%s customer reviews', $review_count, 'woocommerce' ), '<span class="count">' . esc_html( $review_count ) . '</span>' ); ?>)
</a>
<?php endif ?>
</div>
<?php endif; ?>
任何幫助將非常感激! 干杯!
$product
變量是WC_Product
類的一個實例,它不同於WP_Post
類。 您可以在此處閱讀有關WC_Product
API 的信息:
https://docs.woocommerce.com/wc-apidocs/class-WC_Product.html
在這種情況下獲取產品 ID 的正確方法是使用get_id
方法:
$product->get_id()
我想我需要睡一會兒......
今天早上再次看了這個之后,我可以看到一些東西,因為某種原因我以前在上釉。 我為產品的鏈接調用了 $product->ID,但當然現在應該是 $product->get_id()。 有了這個改變,它現在可以工作了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.