feat: Add variation-level license duration to product editor

- Added license_duration_days field to ProductVariant type
- Added License Duration input to each variation card
- Backend: ProductsController saves/loads variation-level _license_duration_days meta
- Allows different license periods per variation (e.g., 1-year, 2-year, lifetime)
This commit is contained in:
Dwindi Ramadhana
2026-01-05 17:32:49 +07:00
parent 60d749cd65
commit 2efc6a7605
2 changed files with 33 additions and 6 deletions

View File

@@ -898,6 +898,7 @@ class ProductsController {
'image_id' => $variation->get_image_id(),
'image_url' => $image_url,
'image' => $image_url, // For form compatibility
'license_duration_days' => get_post_meta($variation->get_id(), '_license_duration_days', true) ?: '',
];
}
}
@@ -994,6 +995,11 @@ class ProductsController {
$saved_id = $variation->save();
$variations_to_keep[] = $saved_id;
// Save variation-level license duration
if (isset($var_data['license_duration_days'])) {
update_post_meta($saved_id, '_license_duration_days', self::sanitize_number($var_data['license_duration_days']));
}
// Manually save attributes using direct database insert
if (!empty($wc_attributes)) {
global $wpdb;