関数
ItemEdit::duplicateComboSet( int $old_id, int $new_id )
パラメータ パラメータ
- $old_id
 (数値) (必須) Post ID of item to duplicate
- $new_id
 (数値) (必須) Post ID of new copy
ファイル: src/Admin/ItemEdit.php
    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');
    }