Viewing 2 replies - 1 through 2 (of 2 total)
  • Thread Starter Diego Betto

    (@agm65)

    Solved. Added a check in functions.php so that if the select level is more expensive I do the difference.
    Hope can be usefull.

    function check_upgrade_level($level)
    {
        global $wpdb,  $current_user;
        $levels = $wpdb->get_results("SELECT id,billing_amount FROM $wpdb->pmpro_membership_levels WHERE 1" );
        foreach ($levels as $levelDet){
            $levelDets[$levelDet->id]=$levelDet->billing_amount;
        }
    
        if($levelDets[$level->id] > $levelDets[$current_user->data->membership_level->id]){
            $diff = $levelDets[$level->id] - $levelDets[$current_user->data->membership_level->id];
            $level->initial_payment =  number_format((float)$diff,2);
            $level->billing_amount =  $level->initial_payment;
        }
        return $level;
    }
    add_filter("pmpro_checkout_level", "check_upgrade_level");

    Thanks!

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘Upgrade level -> Pay the difference’ is closed to new replies.