関数
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; }