【问题标题】:WooCommerce: Removing product write panel tabWooCommerce:删除产品写入面板选项卡
【发布时间】:2014-10-01 14:59:14
【问题描述】:

我正在使用 WooCommerce,我想在后端隐藏“链接产品”选项卡。我找到了一个添加标签的钩子(woocommerce_product_write_panel_tabs),但我不确定是否也可以用这个钩子隐藏某些标签。

感谢您的帮助!

【问题讨论】:

    标签: wordpress woocommerce


    【解决方案1】:

    所以我遇到了同样的问题。 Woocommerce 提供了一个过滤器(就像他们对其他所有事情一样)可以处理这个问题。过滤器是“woocommerce_product_data_tabs”。

    function remove_linked_products($tabs){
        unset($tabs['linked_product']);
        return($tabs);
    }
    add_filter('woocommerce_product_data_tabs', 'remove_linked_products', 10, 1);
    

    这将删除链接的产品标签。您还可以使用它们的数组索引取消设置其他选项卡。下面是来自 class-wc-meta-box-product-data.php 的过滤器应用程序的副本。

    $product_data_tabs = apply_filters( 'woocommerce_product_data_tabs', array(
        'general' => array(
            'label'  => __( 'General', 'woocommerce' ),
            'target' => 'general_product_data',
            'class'  => array( 'hide_if_grouped' ),
        ),
        'inventory' => array(
            'label'  => __( 'Inventory', 'woocommerce' ),
            'target' => 'inventory_product_data',
            'class'  => array( 'show_if_simple', 'show_if_variable', 'show_if_grouped' ),
        ),
        'shipping' => array(
            'label'  => __( 'Shipping', 'woocommerce' ),
            'target' => 'shipping_product_data',
            'class'  => array( 'hide_if_virtual', 'hide_if_grouped', 'hide_if_external' ),
        ),
        'linked_product' => array(
            'label'  => __( 'Linked Products', 'woocommerce' ),
            'target' => 'linked_product_data',
            'class'  => array(),
        ),
        'attribute' => array(
            'label'  => __( 'Attributes', 'woocommerce' ),
            'target' => 'product_attributes',
            'class'  => array(),
        ),
        'variations' => array(
            'label'  => __( 'Variations', 'woocommerce' ),
            'target' => 'variable_product_options',
            'class'  => array( 'variations_tab', 'show_if_variable' ),
        ),
        'advanced' => array(
            'label'  => __( 'Advanced', 'woocommerce' ),
            'target' => 'advanced_product_data',
            'class'  => array(),
        )
    ));
    

    因此,只需将 unset($tabs['linked_product'] 替换为您要从后端删除的任何选项卡。

    【讨论】:

    • 这对于为非管理员(如供应商等)制作更简单的编辑器屏幕非常有用,因为这使他们能够比通过前端更轻松地上传和管理自己的产品!
    【解决方案2】:

    将以下内容添加到 wp-admin.min.css 应该会删除链接的产品。

    li.linked_product_options.linked_product_tab
    {
        display:none !important;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-11
      • 1970-01-01
      • 2022-06-22
      • 2018-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多