首页 > 解决方案 > 在 WooCommerce 中隐藏客户用户角色的结帐帐单字段

问题描述

问题:如何添加仅基于用户角色(在本例中为客户)隐藏计费字段的代码。

使用以下代码,我们可以向登录用户隐藏购物车中的账单详细信息:

add_filter( 'woocommerce_checkout_fields', 'custom_override_checkout_fields' );
function custom_override_checkout_fields( $fields ) {
    if( is_user_logged_in() ){
        exec($fields['billing']);
        $fields['billing'] = array();
    }
    return $fields;
}

标签: phpwoocommerce

解决方案


使用适用于用户角色的 WordPresscurrent_user_can()条件函数,例如:

add_filter( 'woocommerce_checkout_fields', 'custom_override_checkout_fields' );
function custom_override_checkout_fields( $fields ) {
    if( current_user_can('customer') ){
        exec($fields['billing']);
        $fields['billing'] = array();
    }
    return $fields;
}

代码位于您的活动子主题(或活动主题)的 function.php 文件中。它应该有效。


推荐阅读