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.