• プラグイン一覧
    - 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-item-combo-set > クラス > ItemEdit
レファレンス
バージョン
1.0.6
絞り込み:

目次

  • ソース
  • 関数

フック

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

ファンクション

    クラス

    ItemEdit

    商品編集ページ actions

    ソース #ソース

    ファイル: src/Admin/ItemEdit.php

    class ItemEdit
    {
        /**
         * Registers hooks
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @return void
         */
        public static function init() {
            add_action('usces_action_item_dupricate', [get_class(), 'duplicateComboSet'], 10, 2);
        }
    
        /**
         * Duplicates a combo-set for a duplicated Welcart item
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @global \wpdb $wpdb
         * @param int $old_id Post ID of item to duplicate
         * @param int $new_id Post ID of new copy
         * @return void
         */
        public static function duplicateComboSet($old_id, $new_id) {
            global $wpdb;
    
            $sets = ComboSet::getAllComboSetsForPostId($old_id);
    
            $wpdb->query('START TRANSACTION');
    
            foreach ($sets as $set) {
                $oldsku = wel_get_sku_by_id($set->getSkuMetaId());
                $newsku = wel_get_sku($new_id, $oldsku['code']);
    
                $newset = ComboSet::createComboSet(
                    $newsku['meta_id'],
                    $set->getEnableItemOptions(),
                    $set->getEnableMultiprice()
                );
                if ($newset instanceof GenericError) {
                    $wpdb->query('ROLLBACK');
                    return;
                }
    
                foreach ($set->getGroups() as $group) {
                    $newgroup = ComboGroup::createComboGroup(
                        $newset->getId(),
                        $group->getLabel(),
                        $group->getOptional(),
                        $group->getEnableMultiSelect()
                    );
                    if ($newgroup instanceof GenericError) {
                        $wpdb->query('ROLLBACK');
                        return;
                    }
    
                    foreach ($group->getItems() as $item) {
                        $newitem = GroupItem::createGroupItem(
                            $newgroup->getId(),
                            $item->getSkuMetaId(),
                            $item->getPriceModifier(),
                            $item->getItemLabel(),
                            $item->getItemQuantity(),
                            $item->getPosition()
                        );
                        if ($newitem instanceof GenericError) {
                            $wpdb->query('ROLLBACK');
                            return;
                        }
                    }
                }
            }
    
            $wpdb->query('COMMIT');
        }
    }
    

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


    関数 #関数

    Top ↑

    • duplicateComboSet — Duplicates a combo-set for a duplicated Welcart item
    • init — Registers hooks

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

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

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

    © 2025 Aivec llc All Rights Reserved.