add_action( 'init', 'custom_remove_add_filters' );
function custom_remove_add_filters(){
global $woocommerce_auctions;
remove_filter( 'woocommerce_is_purchasable', array( $woocommerce_auctions, 'auction_is_purchasable' ), 10 );
add_filter( 'woocommerce_is_purchasable', 'custom_auction_is_purchasable' , 10, 2 );
}
function custom_auction_is_purchasable( $is_purchasable, $object ) {
$object_type = method_exists( $object, 'get_type' ) ? $object->get_type() : $object->product_type;
if ( $object_type == 'auction' ) {
if ( get_option( 'simple_auctions_alow_buy_now', 'yes' ) == 'no' && $object->get_auction_bid_count() != '0' && $object->get_auction_closed() != '2' ) {
return false;
}
if ( ! $object->get_auction_closed() && ! $object->get_auction_closed() && $object->get_price() !== '' ) {
return true;
}
if ( ! is_user_logged_in() ) {
return false;
}
$current_user = wp_get_current_user();
if ( $current_user->ID != $object->get_auction_current_bider() ) {
return false;
}
if ( ! $object->get_auction_closed() ) {
return false;
}
if ( $object->get_auction_closed() != '2' ) {
return false;
}
if ( $object->get_auction_type() == 'reverse' && get_option( 'simple_auctions_remove_pay_reverse' ) == 'yes' ) {
return false;
}
return true;
}
return $is_purchasable;
}
Comments