Скрыть информацию о продукте WooCommerce в зависимости от местоположения пользователя - PullRequest
0 голосов
/ 01 марта 2019

Я разработал каталог (товары, которые нельзя приобрести) с помощью woocommerce, однако мне нужно иметь возможность скрывать цены на товары от пользователей, которые посещают сайт из-за пределов Великобритании по причинам, не зависящим от меня.

Я использую " Скрытие цен на основе бэкэнда местоположения посетителя в Woocommerce " (ответ на мой последний вопрос) :

add_filter( 'woocommerce_get_price_html', 'country_geolocated_based_hide_price', 10, 2 );
function country_geolocated_based_hide_price( $price, $product ) {
    // Not on backend
    if( is_admin() ) 
        return $price;

    if( get_current_user_id() > 0 ) {
        $country = WC()->customer->get_billing_country();
    } else {
        // Get an instance of the WC_Geolocation object class
        $geo_instance  = new WC_Geolocation();
        // Get geolocated user geo data.
        $user_geodata = $geo_instance->geolocate_ip();
        // Get current user GeoIP Country
        $country = $user_geodata['country'];
    }
    return $country !== 'GB' ? '' : $price;
}

Я тестировал это, используя:

По большей части(по данным этих сайтов), похоже, это работает, но я заметил некоторые несоответствия в результатах.Некоторые страницы все еще показывают цены на продукцию.Я боюсь, что один из моих плагинов или пользовательский CSS может мешать, но так как у меня есть доступ только к этим сайтам для тестирования, я не могу быть уверен.

Веб-сайт: https://oxfordriderwear.com/product-category/mens/

Есть ли что-нибудь, что кто-то может обнаружить, что может вызвать эту проблему / знаете способ узнать?Или есть более надежный способ проверки?

...