在WooCommerce中构建订购产品 - 覆盖产品组合

时间:2014-12-18 19:36:30

标签: wordpress woocommerce composite

我正在尝试建立一个非常复杂的网站"按订单生产"产品。我正在使用WooCommerce,但我意识到它可能不是最佳解决方案,但是,我不是程序员,所以我尝试使用预先存在的应用程序。作为参考,以下是我重新设计的原始网站:http://www.cabinetstogo.com/ic280Collectionfrm_multiple.asp?prodno=TOFFEE-NS * WC - 点击标签查看详细信息。

我已经探索了我能找到的所有Woo扩展,例如产品添加,产品包,分组产品和复合产品。目前我在产品包中使用复合产品http://www.cabinetstogo.company/product/westminster-glazed-toffee-base-cabinets/ - 布局有点乱,但这不是我的问题,问题是虽然您可以选择单个产品,但您无法选择个别数量。

使用分组产品http://www.cabinetstogo.company/product/grouped-test/布局非常完美,但我无法将Grouped产品添加到复合产品中。

理想情况下,我需要做的是:

  1. 创建必须一起销售的简单产品的产品包
  2. 将这些产品包组织到产品组中 - 问题:捆绑产品无法添加到产品组
  3. 将这些产品组添加到复合产品中,用于基本机柜等主要产品组 - 问题:分组产品无法添加到复合产品
  4. 我已尝试使用Product Add Ons,但问题是没有办法为Add Ons设置单独的SKU。

    将它们设置为可变产品是另一个想法,但您不能一次选择多个变体。我还考虑过Gravity Forms Add On,但这似乎只是针对其他产品细节而不是混合和匹配功能。

    我知道没有简单的解决方案,但任何指向正确的方向都会有所帮助,因为我可以想到所有不同的方法,我不知道从哪里开始。

1 个答案:

答案 0 :(得分:1)

听起来你正在为一个非常复杂的问题寻找现成的插件解决方案。你需要一个程序员才能做到这一点。一个好的基本计划可能是:

FEATURE: Do custom business logic when a particular product is purchased.
   When a customer adds something to the cart
   Then do some custom business logic, like add "bundled" products to the cart

以下是一些有用的代码段功能:

Do something on cart add:
add_action( 'woocommerce_add_to_cart', 'custom_add_to_cart', 10, 2 );
function custom_add_to_cart( $cart_item_key, $product_id ) {
    if( 123 == $product_id ) { ....

OOP:
add_action( 'woocommerce_thankyou', array($this, 'doSomething') );

Create a product:
$post_id = wp_insert_post( $post, $wp_error );
update_post_meta( $post_id, '_visibility', 'visible' );
update_post_meta( $post_id, '_stock_status', 'instock');
update_post_meta( $post_id, 'total_sales', '0');
update_post_meta( $post_id, '_downloadable', 'no');
update_post_meta( $post_id, '_virtual', 'yes');
update_post_meta( $post_id, '_regular_price', $regularPrice);
update_post_meta( $post_id, '_sale_price', "123" );