如何在WooCommerce中调整字段

时间:2019-07-09 17:46:15

标签: php wordpress woocommerce

在WooCommerce结帐表格中,我已自定义字段。我必须显示字段取决于每个类别,在两个类别(小额贷款,个人贷款)中显示所有字段。在其他类别中,仅显示一些。

总类别为6(小额贷款,个人贷款,公司贷款,卡,储蓄产品,投资)。我考虑过有条件地组织,但是当我使用unset删除字段并且另一个类别需要它时,我做不到。

我拥有的代码如下:

function campos_checkout_condicional( $fields ){    
    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {        
        $product_id   = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );        

            if( has_term( array('micro-prestamos','prestamos-personales'), 'product_cat', get_post( $product_id ) ) ){
                return $fields;
            }

            if( has_term( 'tarjetas', 'product_cat', get_post( $product_id ) ) ){            
               unset($fields['billing']['billing_company']);
               unset($fields['billing']['billing_genero']);
            }
            if ( has_term( 'inversion', 'product_cat', get_post( $product_id ) ) ){
               $fields['billing']['billing_genero'];

            }   

    }
return $fields;
}

add_action( 'woocommerce_checkout_fields', 'campos_checkout_condicional' ); 

例如,如果将两个不同的类别添加到购物车:其中一个类别为“卡片”和“反转”,则必须为“类型”字段,而在另一类别中则不需要。还有其他领域,但不扩展,这是一个小例子。

会有更好的方法或在其他情况下调用该字段吗?

0 个答案:

没有答案