関数
Wishlist::addToCart( array $args, array $payload )
お気に入りリスト商品をカートに追加し、更新したお気に入りリストを返す
説明 説明
売り切れもしくは他の理由でカートに追加できない場合、エラーを返す
- $args
(配列) (必須) URIパラメータ
- 'itemId'
(数値)お気に入りリスト商品ID
- 'itemId'
- $payload
(配列) (必須)
$_POST['payload']
に格納されたjson_encoded
データから抽出された配列
ファイル: src/API/Wishlist.php
public function addToCart(array $args, array $payload) { global $usces; $echeck = $this->canAddToCart($args); if ($echeck instanceof GenericError) { return $echeck; } $id = (int)$args['itemId']; $item = CRUD::getWishlistItemById($id); $serial = $item['serial']; if (!isset($_SESSION['usces_cart'][$serial])) { $_SESSION['usces_cart'][$serial]['quant'] = (int)$item['quantity']; $_SESSION['usces_cart'][$serial]['advance'] = (string)$item['advance']; $unit_price = null; // `get_realprice` uses `$this->serial` internally so we need to update it here $usces->cart->serial = $serial; $price = $usces->cart->get_realprice( $item['postId'], $item['sku'], (int)$item['quantity'], null, $unit_price ); $_SESSION['usces_cart'][$serial]['price'] = $price; $_SESSION['usces_cart'][$serial]['unit_price'] = $unit_price; if (!empty($item['advance'])) { $_SESSION['usces_cart'][$serial]['advance'] = $usces->cart->wc_serialize((string)$item['advance']); } } /** * Fires after adding an item from the wishlist to the cart. * * @important * @param \Aivec\Welcart\Extensions\Wishlist\API\Wishlist $this Instance of the `Wishlist` API class * @param array $args See \Aivec\Welcart\Extensions\Wishlist\API\Wishlist::addToCart() * for details * @param array $payload See \Aivec\Welcart\Extensions\Wishlist\API\Wishlist::addToCart() * for details */ do_action('wcexwl_wishlist_api_add_to_cart_on_complete', $this, $args, $payload); return CRUD::getAndBuildWishlistItems(); }