PHP Snippet 1: Hide Product ID Based on Geolocated Country @ WooCommerce Shop
In the example below, I’m hiding product ID = 344 if the current visitor is from Italy. This PHP Snippet may give you pagination problems sometimes – if this fails, check out snippet 2 below.
/** * @snippet Hide Product Based on IP Address * @how-to Get CustomizeWoo.com FREE * @author Rodolfo Melogli * @compatible WooCommerce 4.0 * @donate $9 https://businessbloomer.com/bloomer-armada/ */add_filter( 'woocommerce_product_is_visible', 'bbloomer_hide_product_if_country', 9999, 2 );function bbloomer_hide_product_if_country( $visible, $product_id ){ $location = WC_Geolocation::geolocate_ip(); $country = $location['country']; if ( $country === "IT" && $product_id === 344 ) { $visible = false; } return $visible;} |
PHP Snippet 2 (Alternative): Hide Product ID Based on IP Address @ WooCommerce Shop
In this example, I’m hiding products 21 and 32 if the user is browsing from a USA IP address.
/** * @snippet Hide Product Based on IP Address * @how-to Get CustomizeWoo.com FREE * @author Rodolfo Melogli * @compatible WooCommerce 4.0 * @donate $9 https://businessbloomer.com/bloomer-armada/ */add_action( 'woocommerce_product_query', 'bbloomer_hide_product_if_country_new', 9999, 2 );function bbloomer_hide_product_if_country_new( $q, $query ) { if ( is_admin() ) return; $location = WC_Geolocation::geolocate_ip(); $hide_products = array( 21, 32 ); $country = $location['country']; if ( $country === "US" ) { $q->set( 'post__not_in', $hide_products ); } } |
No comments:
Post a Comment