Block payment methods if product has specific category

<?php
add_filter( 'woocommerce_available_payment_gateways', 'sitiweb_block_payment_method' );

function sitiweb_block_payment_method( $gateways ) {
	$category_ids =  array( 61 );
	
	foreach ( WC()->cart->get_cart() as $item ) {	
		$product = $item['data'];
		if ($product->parent_id > 0){
			$product = wc_get_product($product->parent_id);
		}
		if ( $product && array_intersect( $category_ids, $product->get_category_ids() ) ) {
			unset( $gateways['mollie_wc_gateway_klarnapaylater'] );
			break;
		}
	}
    return $gateways;
}
?>

Like this article?

Share on Facebook
Share on Twitter
Share on Linkdin
Share on Pinterest
Author picture

SitiWeb is de expert op het gebied van WordPress. gespecialiseerd in het leveren van maatwerk.

Leave a comment

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *