wpgenie icon

custom_get_increase_bid_value

wpgenie | PRO | 09/13/21 09:16:23 AM UTC (Edited) | 0 ⭐ | 1644 👁️ | Never ⏰ | []
PHP |

1.41 KB

|

None

|

0 👍

/

0 👎

function custom_get_increase_bid_value( $metadata, $object_id, $meta_key, $single ) {
 
    if ( isset( $meta_key ) && '_auction_bid_increment' === $meta_key ) {
        $product = wc_get_product( $object_id );
 
        if( (! $product) || $product->get_type() != 'auction' ){
            return $metadata;
        }
 
        $bid_value = $product->get_curent_bid();
 
            switch ( $bid_value ) {
                case $bid_value <= 25:
                    $auction_bid_increment = 2;
                    break;
                case ( $bid_value > 25 && $bid_value <= 80 ):
                    $auction_bid_increment = 5;
                    break;
                case ( $bid_value > 80 && $bid_value <= 230 ):
                    $auction_bid_increment = 10;
                    break;
                case ( $bid_value > 230 && $bid_value <= 750 ):
                    $auction_bid_increment = 20;
                    break;
                case ( $bid_value > 750 && $bid_value <= 2000 ):
                    $auction_bid_increment = 40;
                    break;
                case ( $bid_value > 20000 && $bid_value <= 6000 ):
                    $auction_bid_increment = 80;
                    break;
                case ( $bid_value > 6000 && $bid_value <= 20000 ):
                    $auction_bid_increment = 200;
                    break;
                case ( $bid_value > 20000 && $bid_value <= 50000 ):
                    $auction_bid_increment = 500;
                    break;
                case ( $bid_value > 50000 ):
                    $auction_bid_increment = 10000;
                    break;
            }
 
        return $auction_bid_increment;
 
    }
 
    // Return original if the check does not pass
    return $metadata;
 
}
 
add_filter( 'get_post_metadata', 'custom_get_increase_bid_value', 100, 4 );

Comments