Поддержка WooCommerce Исключение для стран.

  • Всем привет.
    На странице Cart вывожу простое текстовое сообщение. Для этого в functions.php написал так:

    function dutywarning_custom_field() {
    	$dutywarning_message = get_field('customs_duty_warning', ICL_LANGUAGE_CODE);
    if (!empty($dutywarning_message)) {
    		echo '<div class="dutyWarning">'.$dutywarning_message.'
    </div>';
    	} else {
    		echo '';
    	}
    }
    add_action( 'woocommerce_after_shipping_calculator', 'dutywarning_custom_field', 10 );

    И все хорошо, только показывать его нужно для всех стран, кроме Польши и Украины.
    Подскажите, пожалуйста, как написать такое условие. Что-то совсем не понимаю, как это сделать.

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • показывать его нужно для всех стран, кроме Польши и Украины

    У вас геолокация незарегистрированных пользователей как определяется?
    Если у вас есть ключ API, можно использовать класс WC_Geolocation:

    $geolocation = WC_Geolocation::geolocate_ip();
        if (!in_array($geolocation['country'], array('PL', 'UA'))){
    ...
    }
    • Ответ изменён 1 месяц, 3 недели назад пользователем kword.

    Признаться честно, я думал, что геолокация – это встроенный функционал WooCommerce.
    В настройках Default customer location включено Geolocate, в Integration поле MaxMind License Key пустое. Установленных плагинов на эту тему, не обнаружил.

    Вместо … вставил свой код и все заработало как нужно. Теперь буду разбираться, как оно работает 🙂
    Благодарю уважаемого kword за реально рабочий пример.

Просмотр 2 ответов — с 1 по 2 (всего 2)