2017-11-22 7 views
0

wuocommerceカートに複数のカスタム商品を追加する際に問題があります。プログラム的にカートに複数の製品を追加する方法。私の下のコードをチェックし、これについて助言してください。私はテンプレートフォルダであるカスタムページにこのコードを書いています。Woocommerce複数の商品がカートに入っていませんか?

$values = array(); 
     $post_values = array(); 
     $i=0; 
    foreach($_POST['post_quantity'] as $key =>$value){ 


    /*$lastid[$i] = multiple product inserted id's */ 


$wpdb->insert('wp_posts', array(
     'post_title' => 'xxxxx xxx ID: '.$_POST['quoted_sid'][$key].' - Product ID: '.$_POST['product_id'][$key], 
     'post_content' => $_POST['product_description'][$key], 
     'post_date' => date('Y-m-d H:i:s'), 
     'post_status' => 'publish', 
     'post_author' => 1, 
     'post_type'  =>'product' 
    )); 
    $lastid[$i] = $wpdb->insert_id; 

      $date[$i] = date('Y-m-d H:i:s'); 

     add_post_meta($lastid[$i], '_regular_price', $_POST['product_price'][$key]); 
     add_post_meta($lastid[$i], '_price', $_POST['product_price'][$key]); 
     add_post_meta($lastid[$i],'_visibility','visible'); 

    add_post_meta($lastid[$i], '_stock_status', 'instock'); 
    add_post_meta($lastid[$i], '_weight', '11'); 
    add_post_meta($lastid[$i], '_sku', 'Quoted xxxx_'.$_POST['product_id'][$key]); 
    add_post_meta($lastid[$i], '_duplicate_price', $_POST['product_duplicate_price'][$key]); 
    add_post_meta($lastid[$i], '_material', $_POST['product_material'][$key]); 

$i++; 
     //$woocommerce->cart->add_to_cart( $lastid[$i], $quantity=$_POST['post_quantity'][$key], $cart_item_data); 

    } 

    $woocommerce->cart->add_to_cart( $lastid[$i], 
     $quantity=$_POST['post_quantity'][$key], $cart_item_data); 

私は、数量や他のcart_item_dataフィールドを渡すためにどのように取り組んが、私はquanityを追加する方法を確認していないと、他のcart_item_data_fields

$product_ids = filter_var_array($lastid, FILTER_SANITIZE_SPECIAL_CHARS); 
     foreach ($product_ids as $product_id) { 
      $woocommerce->cart->add_to_cart($product_id); 
     } 

され、このように、以下の機能を試してみました。

+0

解決策を達成しようとしましたか? – Nomistake

+0

この機能を実装しようとしました。https://stackoverflow.com/questions/42570982/adding-multiple-items-to-woocommerce-cart-at-once – gopi

答えて

0

関数の呼び出しでquantityの変数代入の値を渡しています。したがって、代入結果がfalseを返す場合は、値は偽になります。あらかじめ割り当てられた変数または実際の式の値を渡す必要があります。

(関数の定義を宣言するときは、デフォルトの "定数"の値に関数の引数を割り当てることができます)

関連する問題