如何在 WooCommerce 中为自定义产品类型启用价格和库存

Posted

技术标签:

【中文标题】如何在 WooCommerce 中为自定义产品类型启用价格和库存【英文标题】:How to enable price and inventory for custom product type in WooCommerce 【发布时间】:2017-08-23 21:35:58 【问题描述】:

我在我的 WooCommerce 应用程序中创建了一个自定义产品类型

function register_variable_bulk_product_type() 

    class WC_Product_Variable_bulk extends WC_Product_Simple 

        public function __construct($product) 

            $this->product_type = 'variable_bulk';
            parent::__construct($product);
        

    



add_action('init', 'register_variable_bulk_product_type');

function add_variable_bulk_product($types) 

    $types['variable_bulk'] = __('Variable Bulk');

    return $types;


add_filter('product_type_selector', 'add_variable_bulk_product');

这在产品数据下拉列表中显示产品类型,如下所示,

我的问题是

新产品没有添加库存和价格的选项,如何启用这些选项?

【问题讨论】:

您想要可变散装产品类型的价格框? 是的,我也在尝试管理这种类型的库存和库存 按照本教程中的步骤操作jeroensormani.com/adding-a-custom-woocommerce-product-type 它有效,我也遵循了这个,它节省了我的时间 @ShijinTR:我的回答解决了你的问题吗? 【参考方案1】:

你需要一个小的 JS 技巧来显示价格和库存标签,即你 需要在你的情况下添加类show_if_your_custom_product_type 将是show_if_variable_bulk

这是工作代码:

function wh_variable_bulk_admin_custom_js() 

    if ('product' != get_post_type()) :
        return;
    endif;
    ?>
    <script type='text/javascript'>
        jQuery(document).ready(function () 
            //for Price tab
            jQuery('.product_data_tabs .general_tab').addClass('show_if_variable_bulk').show();
            jQuery('#general_product_data .pricing').addClass('show_if_variable_bulk').show();
            //for Inventory tab
            jQuery('.inventory_options').addClass('show_if_variable_bulk').show();
            jQuery('#inventory_product_data ._manage_stock_field').addClass('show_if_variable_bulk').show();
            jQuery('#inventory_product_data ._sold_individually_field').parent().addClass('show_if_variable_bulk').show();
            jQuery('#inventory_product_data ._sold_individually_field').addClass('show_if_variable_bulk').show();
        );
    </script>
    <?php



add_action('admin_footer', 'wh_variable_bulk_admin_custom_js');

代码进入您的活动子主题(或主题)的functions.php 文件。或者也可以在任何插件 PHP 文件中。代码已经过测试并且可以工作。

这是您的常规标签的外观:

这就是库存标签的外观

希望这会有所帮助!

【讨论】:

代码是正确的,我会添加一个小修复来显示价格字段下没有出现的“税务状态”字​​段,向他们展示你添加这个:jQuery('._tax_status_field').parent ().addClass('show_if_variable_bulk');

以上是关于如何在 WooCommerce 中为自定义产品类型启用价格和库存的主要内容,如果未能解决你的问题,请参考以下文章

我们如何在 Hive 中为自定义 Writable 类型编写自定义 ObjectInspector?

如何在 Vue Router v4 中为自定义元字段声明 TypeScript 类型接口?

在 Woocommerce 中为特定产品类别使用自定义单个产品模板

在Woocommerce中为特定产品类别使用自定义单一产品模板

为自定义 URL 参数设置 Cookie - wordpress/woocommerce

在 WooCommerce 中为特定产品类别自定义“添加到购物车”按钮