结合WooCommerce的两个功能

时间:2017-02-16 22:28:46

标签: php wordpress function woocommerce

我试图将这两个函数组合在我的functions.php文件中。我尝试了几种变化,但似乎不能正确。它可以工作,因为它分为两个功能,但现在我的好奇心已经充分利用了我。

我删除了Woo Commerce中两个字段的结帐页面中的字段。我不知道要在一个函数中调用它们,所以我只使用了两个来使它工作,但我只想知道如何将它组合成一个。

function custom_override_checkout_fields_1( $fields ) {

    if ( ! current_user_can( 'dealer_group' ) && isset( $fields['billing']['rep_name'] ) ) {
        unset( $fields['billing']['rep_name'] );
    }

     return $fields;
}
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields_1' );

function custom_override_checkout_fields_2( $fields ) {

    if ( ! current_user_can( 'dealer_group' ) && isset( $fields['billing']['billing_company'] ) ) {
        unset( $fields['billing']['billing_company'] );
    }

     return $fields;
}
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields_2' );

2 个答案:

答案 0 :(得分:4)

您只需将这两个功能重构为一个。 如果没有设置,则无需检查isset,因为未设置将无法执行任何操作。

function custom_override_fields($fields) {
    if ( ! current_user_can( 'dealer_group' ) ) {
          unset( $fields['billing']['rep_name'] );
          unset( $fields['billing']['billing_company'] );
    }   

    return $fields;
}

答案 1 :(得分:1)

integer

刚刚结合了两个ifs。