2014-12-18 79 views
9

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

我已经探索了所有可以找到的Woo扩展,例如Product Add Ons,Product Bundles,Grouped Products和Composite Products。目前我正在使用产品捆绑复合产品在这里: http://www.cabinetstogo.company/product/westminster-glazed-toffee-base-cabinets/ - 布局有点混乱,但这不是我的问题,问题是,虽然你可以挑选单个产品,你不能选择个人数量。

随着分组产品http://www.cabinetstogo.company/product/grouped-test/布局是完美的,但我不能将分组产品添加到复合产品。

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

  1. 创建必须一起出售
  2. 举办这些产品捆绑到产品组简单的产品的产品包 - 问题:附赠产品不能被添加到组产品中
  3. 将这些产品组添加到复合产品中,用于基本机柜等主组产品 - 问题:无法将组合产品添加到复合产品中

我试过产品添加Ons两个,但问题是没有办法为添加Ons设置单独的SKU。

将它们设置为变量产品是另一种想法,但您无法一次选择多个变体。我也考虑了Gravity Forms Add On,但这似乎只是为了更多的产品细节,而不是混合搭配功能。

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

+0

你调查过[强制卖出(http://www.woothemes.com/products/force -sells /)WooCommerce扩展?它不能解决“无法将分组产品添加到购物车”的问题,但可以在添加特定产品时强制某些产品进入购物车。可能值得研究。 – Dez

+0

是的,我已经看过所有的选项。没有一个完美的解决方案。 – CreativEliza

+0

你能举出一个例子,说明你在1,2和3中的意思。我正在难以形象化。我去了你的旧网站,它看起来像一个“分组”的产品,每个单位定价。如果没有开箱即可使用,则可能需要完成一些自定义开发工作。 – helgatheviking

回答

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");