如何以固定数量销售和定价WooCommerce产品


How do I sell AND price WooCommerce products at fixed quantities?

奇怪的问题,可能有一个简单的答案,无论出于什么原因,都暗指我。

在我的WooCommerce商店里,我正试着卖名片。我想把它们以200或400的价格大量出售。

我知道如何设置步长值并限制最小值和最大值。问题是,我希望在计算价格时,200和400分别被视为1和2的单位——比如说,200是29美元,400是39美元的折扣。自然发生的情况是,200/400张卡分别乘以29/39美元。

我似乎无法使用任何可用的插件来解决这个问题。如果我将步长值设置为200,我需要将产品定价设置为0.195美元(39/200美元)才能获得正确的总额,但我不希望用户在购物车中看到"每张(个人)卡"的定价。

感谢您的帮助。

我可能要做的是创建一个扩展简单产品类的新产品类型。我根本不打算深入研究代码,但看起来我已经回答了几个对您有用的问题。这不是一个完整的复制粘贴解决方案,因为这是一项相当大的工作,但这应该让你开始。

创建自定义产品类型

尽管我可能会扩展WC_Product_Simple而不是WC_Product,因为基本上这将与一个简单的产品相同,但需要注意以下几点:

您添加1个元字段来定义您的"批量"大小。

仅为自定义产品类型定义产品元字段

然后为该类型创建您自己的添加到购物车模板,该模板使用"批量"大小来操作添加到数量输入(最小值和步长)。

add_action( 'woocommerce_your_type_add_to_cart', array( $this, 'add_to_cart_template' ) );
function custom_type_add_to_cart_template() {
    global $product;
    // Load the add to cart template
    wc_get_template(
        'single-product/add-to-cart/your-type.php',
        array(), // you can pass global variables here, ex: your product's "lot" size would be a good idea
        '',
        YOUR_PLUGIN_PATH . '/templates/'
    );
}

最后,将购物车中的总价调整为$price * $quantity / $lot_size