Php 仅对特定用户禁用产品数据部分

Php 仅对特定用户禁用产品数据部分,php,wordpress,tabs,woocommerce,product,Php,Wordpress,Tabs,Woocommerce,Product,在WooCommerce后端,我知道您可以通过functions.php上的一些代码全局删除产品选项卡 但我只想为用户后端删除。我正在使用一个多供应商插件 我该怎么做 我的代码: function remove_tab($tabs){ unset($tabs['inventory']); // it is to remove inventory tab //unset($tabs['advanced']); // it is to remove advanced tab

在WooCommerce后端,我知道您可以通过
functions.php
上的一些代码全局删除产品选项卡

但我只想为用户后端删除。我正在使用一个多供应商插件

我该怎么做

我的代码:

function remove_tab($tabs){
    unset($tabs['inventory']); // it is to remove inventory tab
    //unset($tabs['advanced']); // it is to remove advanced tab
    //unset($tabs['linked_product']); // it is to remove linked_product tab
    //unset($tabs['attribute']); // it is to remove attribute tab
    //unset($tabs['variations']); // it is to remove variations tab
    return($tabs);
}
add_filter('woocommerce_product_data_tabs', 'remove_tab', 10, 1);

谢谢。

假设您的供应商有一个自定义用户角色,您可以通过以下方式在功能中针对此特定用户角色实现此目标:

add_filter('woocommerce_product_data_tabs', 'verdors_remove_tab', 10, 1);
function verdors_remove_tab($tabs){

    // Set HERE your targeted user role SLUG
    $target_user_role = 'multivendor';

    // Get current user (object)
    $current_user = wp_get_current_user();
    $current_user_roles = $current_user->roles; // current user roles

    // Unsetting tabs for this specific user role
    if( in_array( $target_user_role, $current_user_roles ) ){
        unset($tabs['inventory']); // it is to remove inventory tab
        //unset($tabs['advanced']); // it is to remove advanced tab
        //unset($tabs['linked_product']); // it is to remove linked_product tab
        //unset($tabs['attribute']); // it is to remove attribute tab
        //unset($tabs['variations']); // it is to remove variations tab
    }
    return($tabs);
}
这段代码位于活动子主题(或主题)的function.php文件或任何插件文件中


此代码经过测试并正常工作。

是否可以从产品数据中删除属性选项卡,并在产品描述编辑器后显示为单个字段及其属性值???