我正在为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;
}
}
}
答案 0 :(得分:6)
$_product
是WC_Product的一个实例,所以你应该可以这样做:
if ( $_product.is_downloadable() ) {
$hasPhysicalProduct = 1;
}
WooCommerce文档包含有关WC_Product class members
的信息