WooCommerce Checkout

Dan*_*ady 3 wordpress plugins checkout woocommerce

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

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

// 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;
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

小智 6

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

if ( $_product.is_downloadable() ) {
     $hasPhysicalProduct = 1;
}
Run Code Online (Sandbox Code Playgroud)

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