簡體   English   中英

過濾自定義產品循環以從 WooCommerce 中的類別中獲取產品

[英]Filter a custom product loop to get products from a category in WooCommerce

我有這個 function,它稱我為 WooCommerce 中的所有產品類型“promotion_package”:

<?php foreach ( (array) $products as $product ):

    if ( ! $product->is_type( 'promotion_package' ) || ! $product->is_purchasable() || $product->get_duration() <= 0 ) {
        continue;
    }

endforeach; ?>

我只想從“vip”產品類別中獲得產品。

我嘗試使用$product->get_categories()來查找“vip”類別,但沒有奏效。

如何僅顯示“vip”類別的產品?

您可以嘗試has_term()條件 function 用於'product_cat'產品類別分類,如下所示:

<?php 
    $categories = array('vip'); // Your categories (can be terms Ids, slugs or names)

    foreach ( (array) $products as $product ):

    if ( ! $product->is_type( 'promotion_package' ) || ! $product->is_purchasable() || $product->get_duration() <= 0 
    || ! has_term( $categories, 'product_cat', $product->get_id() ) ) {
        continue;
    }

    endforeach; 
?>

它應該工作,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM