WooCommerce结账

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;
            }
        }
    }

这并不是一个编程问题,因为它在寻求建议。 - RiggsFolly
嗨,里格斯 - 抱歉,我是新来的 :) 我在我的帖子中添加了一些更多的信息。 提前感谢。 - Dan McCrady
你想要实现什么样的功能,总体上你想要进行哪些修改,类似于这个插件吗?https://www.fmeaddons.com/woocommerce-plugins-extensions/additional-checkout-fields.html - user960971
1个回答

6

$_product 是 WC_Product 的一个实例,所以您应该能够这样做:

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

WooCommerce文档提供了关于WC_Product类成员的信息。查看文档


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接