【问题标题】:Hide custom field in woocommerce checkout based on specific role根据特定角色隐藏woocommerce结帐中的自定义字段
【发布时间】:2018-10-04 11:26:02
【问题描述】:

我正在尝试禁用我在结帐页面中为批发商创建的自定义字段。寻找一种方法来禁用 WooCommerce 中商店经理的优惠券字段。我已经在我的function.php中插入了这段代码,我该怎么办?

add_filter( 'woocommerce_checkout_fields' , 'field_cfpiva' );

function field_cfpiva( $fields ) {
     $fields['billing']['billing_cf'] = array(
        'label'     => __('Codice Fiscale / P.IVA', 'woocommerce'),
        'placeholder'   => _x('Codice Fiscale / P.IVA', 'placeholder', 'woocommerce'),
        'required'  => true,
        'class'     => array('form-row-wide'),
        'clear'     => true
     );

     return $fields;
}

 add_filter( 'woocommerce_admin_billing_fields' , 'admin_field_cfpiva' );

function admin_field_cfpiva( $fields ) {
     $fields['cf'] = array(
        'label' => __('Codice Fiscale / P.IVA', 'woocommerce'),
        'show'  => true
    );
    return $fields;
}   

function add_cf_in_invoice( $fields, $order ) {
    $new_fields = array();

    if( get_post_meta( $order->id, '_billing_cf', true ) ) {
        $new_fields['_billing_cf'] = array( 
            'label' => 'Codice Fiscale: ',
            'value' => get_post_meta( $order->id, '_billing_cf', true )
        );
    }    
    return array_merge( $fields, $new_fields );
}

add_filter( 'wcdn_order_info_fields', 'add_cf_in_invoice', 10, 2 );

/**
* Add the field to order emails
**/
add_filter('woocommerce_email_order_meta_keys', 
'my_woocommerce_email_order_meta_keys');

function my_woocommerce_email_order_meta_keys( $keys ) {
$keys['_billing_cf'] = 'Codice Fiscale';
return $keys;
}

【问题讨论】:

    标签: woocommerce checkout custom-fields


    【解决方案1】:

    修改您的函数“admin_field_cfpiva”。您需要在添加字段之前添加条件。

    试试下面的代码 -

    function admin_field_cfpiva( $fields ) {
        $user = wp_get_current_user();
        if ( !in_array( 'shop_manager', (array) $user->roles ) ) {   
    
             $fields['cf'] = array(
                  'label' => __('Codice Fiscale / P.IVA', 'woocommerce'),
                  'show'  => true
             );
        }
        return $fields;
    }
    

    【讨论】:

      猜你喜欢
      • 2017-07-22
      • 2019-07-22
      • 2021-07-29
      • 2023-04-10
      • 2021-06-24
      • 2018-03-25
      • 2017-03-21
      • 2013-07-07
      相关资源
      最近更新 更多