3

我正在为 WooCommerce 创建一个插件来修改结帐页面。我想做一些基于用户购物车的条件过滤器。有没有办法查看购物车中的物品,并确定是否有任何物品不可下载/虚拟?

到目前为止,我有一个过滤器,我想在过滤器中隐藏地址字段。这很好用,但现在我想让它有条件,并且只有在包含不可下载的产品时才隐藏地址字段。谢谢

// Our hooked in function - $fields is passed via the filter!
function custom_override_checkout_fields( $fields ) {
    $hasPhysicalProduct = 0;
    if ( sizeof( $woocommerce->cart->get_cart() ) > 0 ) {
        foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
            $_product = $values['data'];
            if ( SOMEHOW CHECK IF THE PRODUCT IS DOWNLOADABLE ) {
                $hasPhysicalProduct = 1;
            }
        }
    }
4

1 回答 1

6

$_product是 WC_Product 的一个实例,所以你应该可以这样做:

if ( $_product.is_downloadable() ) {
     $hasPhysicalProduct = 1;
}

WooCommerce 文档包含有关WC_Product 类成员的信息

于 2013-09-29T06:39:15.200 回答