finalizing subscription moduile, ready to test
This commit is contained in:
@@ -424,6 +424,23 @@ class ProductsController {
|
||||
update_post_meta($product->get_id(), '_woonoow_license_expiry_days', self::sanitize_number($data['license_duration_days']));
|
||||
}
|
||||
|
||||
// Subscription meta
|
||||
if (isset($data['subscription_enabled'])) {
|
||||
update_post_meta($product->get_id(), '_woonoow_subscription_enabled', $data['subscription_enabled'] ? 'yes' : 'no');
|
||||
}
|
||||
if (isset($data['subscription_period'])) {
|
||||
update_post_meta($product->get_id(), '_woonoow_subscription_period', sanitize_key($data['subscription_period']));
|
||||
}
|
||||
if (isset($data['subscription_interval'])) {
|
||||
update_post_meta($product->get_id(), '_woonoow_subscription_interval', absint($data['subscription_interval']));
|
||||
}
|
||||
if (isset($data['subscription_trial_days'])) {
|
||||
update_post_meta($product->get_id(), '_woonoow_subscription_trial_days', absint($data['subscription_trial_days']));
|
||||
}
|
||||
if (isset($data['subscription_signup_fee'])) {
|
||||
update_post_meta($product->get_id(), '_woonoow_subscription_signup_fee', self::sanitize_number($data['subscription_signup_fee']));
|
||||
}
|
||||
|
||||
// Handle variations for variable products
|
||||
if ($type === 'variable' && !empty($data['attributes']) && is_array($data['attributes'])) {
|
||||
self::save_product_attributes($product, $data['attributes']);
|
||||
@@ -568,6 +585,23 @@ class ProductsController {
|
||||
update_post_meta($product->get_id(), '_woonoow_license_expiry_days', self::sanitize_number($data['license_duration_days']));
|
||||
}
|
||||
|
||||
// Subscription meta
|
||||
if (isset($data['subscription_enabled'])) {
|
||||
update_post_meta($product->get_id(), '_woonoow_subscription_enabled', $data['subscription_enabled'] ? 'yes' : 'no');
|
||||
}
|
||||
if (isset($data['subscription_period'])) {
|
||||
update_post_meta($product->get_id(), '_woonoow_subscription_period', sanitize_key($data['subscription_period']));
|
||||
}
|
||||
if (isset($data['subscription_interval'])) {
|
||||
update_post_meta($product->get_id(), '_woonoow_subscription_interval', absint($data['subscription_interval']));
|
||||
}
|
||||
if (isset($data['subscription_trial_days'])) {
|
||||
update_post_meta($product->get_id(), '_woonoow_subscription_trial_days', absint($data['subscription_trial_days']));
|
||||
}
|
||||
if (isset($data['subscription_signup_fee'])) {
|
||||
update_post_meta($product->get_id(), '_woonoow_subscription_signup_fee', self::sanitize_number($data['subscription_signup_fee']));
|
||||
}
|
||||
|
||||
// Allow plugins to perform additional updates (Level 1 compatibility)
|
||||
do_action('woonoow/product_updated', $product, $data, $request);
|
||||
|
||||
@@ -767,6 +801,13 @@ class ProductsController {
|
||||
$data['license_activation_limit'] = get_post_meta($product->get_id(), '_license_activation_limit', true) ?: '';
|
||||
$data['license_duration_days'] = get_post_meta($product->get_id(), '_license_duration_days', true) ?: '';
|
||||
|
||||
// Subscription fields
|
||||
$data['subscription_enabled'] = get_post_meta($product->get_id(), '_woonoow_subscription_enabled', true) === 'yes';
|
||||
$data['subscription_period'] = get_post_meta($product->get_id(), '_woonoow_subscription_period', true) ?: 'month';
|
||||
$data['subscription_interval'] = get_post_meta($product->get_id(), '_woonoow_subscription_interval', true) ?: '1';
|
||||
$data['subscription_trial_days'] = get_post_meta($product->get_id(), '_woonoow_subscription_trial_days', true) ?: '';
|
||||
$data['subscription_signup_fee'] = get_post_meta($product->get_id(), '_woonoow_subscription_signup_fee', true) ?: '';
|
||||
|
||||
// Images array (URLs) for frontend - featured + gallery
|
||||
$images = [];
|
||||
$featured_image_id = $product->get_image_id();
|
||||
|
||||
Reference in New Issue
Block a user