• プラグイン一覧
    - WCEX Item Combo Set
    - WCEX Amazon Pay
    - WCEX Wishlist お気に入りリスト
  • リリース情報
  • お役立ちコラム
  • お問い合わせ
  • サポート
    • よくある質問
      • WCEX Amazon Pay
      • WCEX Wishlist お気に入りリスト
      • wcex-item-combo-set
    • リファレンス
      • WCEX Amazon Pay
      • WCEX Wishlist お気に入りリスト
      • wcex-item-combo-set
新規会員登録
ログイン
新規会員登録
ログイン
カート
  • プラグイン一覧
    • - WCEX Item Combo Set
    • - WCEX Amazon Pay
    • - WCEX Wishlist お気に入りリスト
  • リリース情報
  • お役立ちコラム
  • サポート
    • - よくある質問
      • - WCEX Amazon Pay
      • - WCEX Wishlist お気に入りリスト
      • - wcex-item-combo-set
    • - リファレンス
      • - WCEX Amazon Pay
      • - WCEX Wishlist お気に入りリスト
      • - wcex-item-combo-set
  • お問い合わせ
Aivec APPs > WCEX Wishlist お気に入りリスト > 関数 > Wishlist::batchAddToCart
レファレンス
バージョン
3.1.6
絞り込み:
目的から探す
お気に入りデータを取得 お気に入りページのHTMLを取得 スナックバーアラート

目次

  • 説明
  • パラメータ
  • 戻り値
  • ソース
  • 関連アイテム
    • 使用するアイテム

フック

  • アクション
  • フィルター

ファンクション

  • データ取得
  • ユーティリティー
  • 条件判断
  • 表示系

関数

Wishlist::batchAddToCart( array $args, array $payload )

複数のお気に入りリストアイテムをカートに追加し、更新したお気に入りリストを返す


説明 #説明

便宜上、ほとんどのアイテムはカートに入れることができるとしても1つでも追加できないアイテムがあれば、すべてカートに入れることができない仕様になっている。それぞれのアイテムに関してエラーを確認し、見つかった場合まずエラーを返す。


パラメータ #パラメータ

Top ↑

$args

(配列) (必須) URIパラメータ

$payload

(配列) (必須) $_POST['payload']に格納されたjson_encodedデータから抽出された配列

  • 'itemIds'
    (配列)カートに追加するお気に入りリストアイテムのIDの配列


戻り値 #戻り値

Top ↑

(配列)CRUD::buildWishlistRow() を参照

ソース #ソース

Top ↑

ファイル: src/API/Wishlist.php

    public function batchAddToCart(array $args, array $payload) {
        global $usces;

        $itemIds = !empty($payload['itemIds']) ? (array)$payload['itemIds'] : [];

        // only check charge types if dlseller is active
        if (defined('WCEX_DLSELLER')) {
            foreach ($itemIds as $id) {
                $post_id = CRUD::getPostIdByWishlistItemId($id);
                if (!empty($post_id)) {
                    $chargetype = $usces->getItemChargingType($post_id);
                    $chargetype = !empty($chargetype) ? strtolower($chargetype) : '';
                    if ($chargetype === 'continue') {
                        $itemname = $usces->getItemName($post_id);
                        return $this->master->estore->getErrorResponse(
                            Store::CANNOT_PROCESS_IN_BATCH_OP,
                            [$itemname],
                            [$itemname]
                        );
                    }
                }
            }
        }

        $promptCartClear = null;
        foreach ($itemIds as $id) {
            $error = $this->canAddToCart(['itemId' => $id]);
            if ($error instanceof GenericError) {
                if ($error->errorcode === Store::CART_CONTAINS_CONTINUE_CHARGE) {
                    $message = __(
                        'Your cart contains a subscription item. You must clear your cart to continue. Clear cart now?',
                        'wcexwl'
                    );
                    $error->message = $message;
                    $error->debugmsg = $message;
                    $promptCartClear = $error;
                } else {
                    return $error;
                }
            }
        }

        if ($promptCartClear !== null) {
            return $promptCartClear;
        }

        foreach ($itemIds as $id) {
            $res = $this->addToCart(['itemId' => $id], []);
            if ($res instanceof GenericError) {
                return $res;
            }
        }

        /**
         * Fires after batch adding multiple items from the wishlist to the cart.
         *
         * @important
         * @param \Aivec\Welcart\Extensions\Wishlist\API\Wishlist $this Instance of the `Wishlist` API class
         * @param array                                           $payload See \Aivec\Welcart\Extensions\Wishlist\API\Wishlist::addToCart()
         *                                                                 for details
         */
        do_action('wcexwl_wishlist_api_batch_add_to_cart_on_complete', $this, $payload);

        return CRUD::getAndBuildWishlistItems();
    }

ソースを伸ばす ソースを縮める


関連アイテム #関連アイテム

Top ↑

使用するアイテム #使用するアイテム

使用するアイテム
説明
src/API/CRUD.php: CRUD::getPostIdByWishlistItemId()

お気に入りリストの商品のpost IDを返す

src/API/CRUD.php: CRUD::getAndBuildWishlistItems()

会員のお気に入りリストのそれぞれの商品データを返す

src/API/Wishlist.php: Wishlist::addToCart()

お気に入りリスト商品をカートに追加し、更新したお気に入りリストを返す

src/API/Wishlist.php: wcexwl_wishlist_api_batch_add_to_cart_on_complete

複数のお気に入りリスト商品を一括でカートに追加した後、発生する

src/API/Wishlist.php: Wishlist::canAddToCart()

何らかの理由でお気に入りリストからカートに商品を追加することができなかった場合はGenericErrorを返し、そうでない場合はvoidを返す

  • 新規会員登録
  • ログイン
    • プラグイン一覧
    • 会社概要
    • リリース情報
    • よくある質問
    • お役立ちコラム
    • お問い合わせ
    • 個人情報保護方針
    • 特定商取引法に基づく表記
    • 情報セキュリティ基本方針
    • 利用規約

アイベック合同会社は「Welcart」「Amazon Pay」の公式パートナーです。

※Amazon、Amazon.co.jp、Amazon Payおよびそれらのロゴは、Amazon.com,inc.またはその関連会社の商標です。

© 2025 Aivec llc All Rights Reserved.