diff --git a/class/subscription.php b/class/subscription.php index 0a92ba26f..49811fbff 100644 --- a/class/subscription.php +++ b/class/subscription.php @@ -391,7 +391,7 @@ public function save_form_meta( $subscription_id, $post ) { $cycle_period = ! empty( $post_data['cycle_period'] ) ? sanitize_text_field( wp_unslash( $post_data['cycle_period'] ) ) : ''; $billing_limit = ! empty( $post_data['billing_limit'] ) ? sanitize_text_field( wp_unslash( $post_data['billing_limit'] ) ) : ''; $trial_duration = ! empty( $post_data['trial_duration'] ) ? sanitize_text_field( wp_unslash( $post_data['trial_duration'] ) ) : ''; - $trial_duration_type = ! empty( $post_data['trial_duration_type'] ) ? sanitize_text_field( wp_unslash( $post_data['trial_duration_type'] ) ) : ''; + $trial_duration_type = ! empty( $post_data['_trial_duration_type'] ) ? sanitize_text_field( wp_unslash( $post_data['_trial_duration_type'] ) ) : ''; if ( isset( $post_data['post_expiration_settings'] ) ) { if ( isset( $post_data['post_expiration_settings']['expiration_time_value'] ) && isset( $post_data['post_expiration_settings']['expiration_time_type'] ) ) { @@ -955,7 +955,7 @@ public function pack_details( $pack, $details_meta, $current_pack_id = '', $coup } if ( $billing_amount && $pack->meta_value['recurring_pay'] === 'yes' ) { - $recurring_des = sprintf( __( 'Every', 'wp-user-frontend' ) . ' %s %s', $pack->meta_value['billing_cycle_number'], self::get_cycle_label( $pack->meta_value['cycle_period'], $pack->meta_value['billing_cycle_number'] ), $pack->meta_value['trial_duration_type'] ); + $recurring_des = sprintf( __( 'Every', 'wp-user-frontend' ) . ' %s %s', $pack->meta_value['billing_cycle_number'], self::get_cycle_label( $pack->meta_value['cycle_period'], $pack->meta_value['billing_cycle_number'] ), $pack->meta_value['_trial_duration_type'] ); $recurring_des .= ! empty( $pack->meta_value['billing_limit'] ) ? sprintf( ', ' . __( 'for', 'wp-user-frontend' ) . ' %s ' . __( 'installments', 'wp-user-frontend' ), $pack->meta_value['billing_limit'] ) : ''; $recurring_des = '
' . $recurring_des . '
'; } diff --git a/includes/Admin/Subscription.php b/includes/Admin/Subscription.php index 5e94147c4..3094cac09 100644 --- a/includes/Admin/Subscription.php +++ b/includes/Admin/Subscription.php @@ -974,20 +974,23 @@ public function pack_details( $pack, $details_meta, $current_pack_id = '', $coup } if ( $billing_amount && wpuf_is_checkbox_or_toggle_on( $pack->meta_value['recurring_pay'] ) ) { - $recurring_des = sprintf( __( 'Every', 'wp-user-frontend' ) . ' %s %s', $pack->meta_value['billing_cycle_number'], self::get_cycle_label( $pack->meta_value['cycle_period'], $pack->meta_value['billing_cycle_number'] ), $pack->meta_value['trial_duration_type'] ); + $cycle_number = ! empty( $pack->meta_value['billing_cycle_number'] ) && '1' !== $pack->meta_value['billing_cycle_number'] ? $pack->meta_value['billing_cycle_number'] : ''; - if ( ! empty( $pack->meta_value['billing_limit'] ) && '-1' !== $pack->meta_value['billing_limit'] ) { + $recurring_des = sprintf( __( 'Every', 'wp-user-frontend' ) . ' %s %s', $cycle_number, self::get_cycle_label( $pack->meta_value['cycle_period'], $pack->meta_value['billing_cycle_number'] ), $pack->meta_value['_trial_duration_type'] ); + + + if ( wpuf_is_checkbox_or_toggle_on( $pack->meta_value['enable_billing_limit'] ) && ! empty( $pack->meta_value['billing_limit'] ) && '-1' !== $pack->meta_value['billing_limit'] ) { $recurring_des .= ! empty( $pack->meta_value['billing_limit'] ) ? sprintf( ', ' . __( 'for', 'wp-user-frontend' ) . ' %s ' . __( 'installments', 'wp-user-frontend' ), $pack->meta_value['billing_limit'] ) : ''; } $recurring_des = '
' . $recurring_des . '
'; } - if ( $billing_amount && wpuf_is_checkbox_or_toggle_on( $pack->meta_value['recurring_pay'] ) && wpuf_is_checkbox_or_toggle_on( $pack->meta_value['trial_status'] ) ) { + if ( $billing_amount && wpuf_is_checkbox_or_toggle_on( $pack->meta_value['recurring_pay'] ) && wpuf_is_checkbox_or_toggle_on( $pack->meta_value['_trial_status'] ) ) { //phpcs:ignore - $duration = _n( $pack->meta_value['trial_duration_type'], $pack->meta_value['trial_duration_type'] . 's', $pack->meta_value['trial_duration'], 'wp-user-frontend' ); + $duration = _n( $pack->meta_value['_trial_duration_type'], $pack->meta_value['_trial_duration_type'] . 's', $pack->meta_value['_trial_duration'], 'wp-user-frontend' ); /* translators: %s: trial days */ - $trial_des = sprintf( __( 'Trial available for first %1$s %2$s', 'wp-user-frontend' ), $pack->meta_value['trial_duration'], $duration ); + $trial_des = sprintf( __( 'Trial available for first %1$s %2$s', 'wp-user-frontend' ), $pack->meta_value['_trial_duration'], $duration ); } $label = wpuf_get_option( 'logged_in_label', 'wpuf_subscription_settings', false ); diff --git a/includes/Frontend/Frontend_Account.php b/includes/Frontend/Frontend_Account.php index 2ccbb86e1..4860fe75f 100644 --- a/includes/Frontend/Frontend_Account.php +++ b/includes/Frontend/Frontend_Account.php @@ -227,15 +227,16 @@ public function subscription_section( $sections, $current_section ) { $recurring_des = ''; $billing_amount = ( intval( $pack->meta_value['billing_amount'] ) > 0 ) ? $details_meta['symbol'] . $pack->meta_value['billing_amount'] : __( 'Free', 'wp-user-frontend' ); - if ( $pack->meta_value['recurring_pay'] === 'yes' ) { + if ( wpuf_is_checkbox_or_toggle_on( $pack->meta_value['recurring_pay'] ) ) { + error_log( print_r( $pack->meta_value, true ) ); /* translators: %s: billing cycle number, %s: billing cycle period */ $recurring_des = sprintf( __( 'For each', 'wp-user-frontend' ) . ' %s %s', $pack->meta_value['billing_cycle_number'], Subscription::get_cycle_label( $pack->meta_value['cycle_period'], $pack->meta_value['billing_cycle_number'] ), - $pack->meta_value['trial_duration_type'] ); + $pack->meta_value['_trial_duration_type'] ); /* translators: %s: number of installments */ - $recurring_des .= ! empty( $pack->meta_value['billing_limit'] ) ? sprintf( __( ', for %s installments', + $recurring_des .= ! empty( $pack->meta_value['billing_limit'] ) && -1 === $pack->meta_value['billing_limit'] ? sprintf( __( ', for %s installments', 'wp-user-frontend' ), $pack->meta_value['billing_limit'] ) : ''; } diff --git a/templates/dashboard/subscription.php b/templates/dashboard/subscription.php index ab9fc9a63..7aac10ecc 100644 --- a/templates/dashboard/subscription.php +++ b/templates/dashboard/subscription.php @@ -13,7 +13,7 @@ + if ( ! empty( $user_sub['total_feature_item'] ) && -1 === $user_sub['total_feature_item'] ) { ?>
@@ -24,7 +24,7 @@ foreach ( $user_sub['posts'] as $key => $value ) { $value = intval( $value ); - if ( $value === 0 ) { + if ( 0 === $value || -1 === $value ) { continue; } diff --git a/templates/subscriptions/pack-details.php b/templates/subscriptions/pack-details.php index 1f6eb5a3f..a26044767 100644 --- a/templates/subscriptions/pack-details.php +++ b/templates/subscriptions/pack-details.php @@ -15,7 +15,7 @@ */ ?>
-

post_title ); ?>

+

post_title ); ?>

@@ -28,7 +28,7 @@
meta_value['recurring_pay'] == 'yes' ) { + if ( wpuf_is_checkbox_or_toggle_on( $pack->meta_value['recurring_pay'] ) ) { ?>