2014-12-18 101 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");