関数
ComboGroup::duplicateComboGroup( int $groupId, string $label )
パラメータ パラメータ
- $groupId
 (数値) (必須)
- $label
 (文字列) (必須)
ファイル: src/API/ComboGroup.php
    public static function duplicateComboGroup($groupId, $label) {
        global $wpdb;
        $combogroup = self::getComboGroupById($groupId);
        if (empty($combogroup)) {
            return Master::getErrorStore()->getErrorResponse(
                ErrorStore::COMBO_GROUP_NOT_FOUND,
                [$groupId],
                [],
                [$groupId]
            );
        }
        $wpdb->query('START TRANSACTION');
        $newgroup = self::createComboGroup(
            $combogroup->getComboSetId(),
            !empty($label) ? (string)$label : '',
            $combogroup->getOptional(),
            $combogroup->getEnableMultiSelect()
        );
        if ($newgroup instanceof GenericError) {
            $wpdb->query('ROLLBACK');
            return $newgroup;
        }
        foreach ($combogroup->getItems() as $gitem) {
            $newgitem = GroupItem::createGroupItem(
                $newgroup->getId(),
                $gitem->getSkuMetaId(),
                $gitem->getPriceModifier(),
                $gitem->getItemLabel(),
                $gitem->getItemQuantity()
            );
            if ($newgitem instanceof GenericError) {
                $wpdb->query('ROLLBACK');
                return $newgitem;
            }
        }
        $wpdb->query('COMMIT');
        $dupgroup = self::getComboGroupById($newgroup->getId());
        if (empty($dupgroup)) {
            return Master::getErrorStore()->getErrorResponse(
                ErrorStore::COMBO_GROUP_NOT_FOUND,
                [$newgroup->getId()],
                [],
                [$newgroup->getId()]
            );
        }
        return $dupgroup;
    }