Forum Replies Created

Viewing 1 replies (of 1 total)
  • Thread Starter Lodir17

    (@lodir17)

    I think this is not possible so I’m trying a different approach – I’m trying to copy “Enable for shipping methods” field from COD to BACS –

    function is_available() {
    		global $woocommerce;
    
    		if ( ! empty( $this->enable_for_methods ) ) {
    
    			if ( is_page( woocommerce_get_page_id( 'pay' ) ) ) {
    
    				$order_id = (int) $_GET['order_id'];
    				$order = new WC_Order( $order_id );
    
    				if ( ! $order->shipping_method )
    					return false;
    
    				$chosen_method = $order->shipping_method;
    
    			} elseif ( empty( $woocommerce->session->chosen_shipping_method ) ) {
    				return false;
    			} else {
    				$chosen_method = $woocommerce->session->chosen_shipping_method;
    			}
    
    			$found = false;
    
    			foreach ( $this->enable_for_methods as $method_id ) {
    				if ( strpos( $chosen_method, $method_id ) === 0 ) {
    					$found = true;
    					break;
    				}
    			}
    
    			if ( ! $found )
    				return false;
    		}
    
    		return parent::is_available();
    	}

    I’m using this snippet – I select the “Local pickup” in the “Enabled for shipping methods” field in BACS, but it doesn’t disable Local pickup.

    Any ideas?
    Thanks in advance!

Viewing 1 replies (of 1 total)