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