Posted on

WooCommerce: Aelia Prices by Country product visibility

Aelia has a Prices by Country for WooCommerce plugin, which can adjust prices based on customer country and hide products unavailable in a specific country. Jason James shared a function that makes Relevanssi hide unavailable products in search:

add_filter( 'relevanssi_post_ok', 'relevanssi_aelia_compatibility', 10, 2 );
function relevanssi_aelia_compatibility( $post_ok, $post_id ) {
	$post       = get_post( $post_id ); 
	$post_type  = $post->post_type; 
	$product_id = $post->ID;

	if ( 'product' === $post_type && function_exists( 'wc_get_product' ) ) {
		// Get the product object.
		$product = wc_get_product( $product_id );

		// Check if the product is purchasable.
		if ( $product && ! $product->is_purchasable() ) {
			$post_ok = false;
		}
	} 
	return $post_ok;
}

This function uses the relevanssi_post_ok filter hook to control which posts are included in the search and the $product->is_purchasable() function to see if the product can be shown.

Leave a Reply