Luc45 / WooCommerce-Correios-Calculo-de-Frete-na-Pagina-do-Produto

Habilita o cálculo de frete na página do produto no WooCommerce.
GNU General Public License v2.0
24 stars 11 forks source link

Problema quando um Estado tem várias áreas de entrega #36

Open bidela opened 3 years ago

bidela commented 3 years ago

Boa noite, primeiramente venho agradece pela excelente iniciativa, esse plugin da uma facilidade importante que sempre sentia falta para completar o woocommerce.

O problema que encontrei é quando temos varias áreas de entrega para o mesmo estado. Exemplo: Eu tenho quatro áreas de entrega cadastrada para (Brasil, Rio de janeiro) Rio de Janeiro 5, Rio de janeiro 10, Rio de Janeiro 15 e Rio de Janeiro 20, e uma quinta área de entrega para todo Brasil.

Rio de Janeiro 5 Motoboy 5 reais Sedex Retira na Loja

Rio de Janeiro 10 Motoboy 10 reais Sedex Retira na Loja

Rio de Janeiro 15 Motoboy 15 reais Sedex Retira na Loja

Rio de Janeiro 20 Motoboy 20 reais Sedex Retira na Loja

Todo Brasil SEDEX

Quando uso um CEP do Estado do Rio de Janeiro o Plugin sempre exibi a Opção de entrega Motoboy 5reais. Não importa se a faixa de CEP corresponda a outras áreas de Entrega do Rio de Janeiro. Porém, a Opção de SEDEX é atualizada conforme a áreas.

Se incluo o faixa de CEP de qualquer outro estado, o plugin se comporta normalmente exibindo Todo Brasil.

Meu ambiente está com Wordpress 5.7, Woocommerce 5.2, Correios for WooCommerce 3.8 e WooCommerce Correios - Cálculo de Frete na Página do Produto (CFPP) 3.2

Você tem uma ideia do que pode ser? Podem ajudar nesse caso?

Antes de mais nada. Obrigado!

czamorasoft commented 3 years ago

@bidela mesma dificuldade por aqui. Conseguiu resolver por aí?

czamorasoft commented 3 years ago

@bidela Resolvido paliativamente:

woo-correios-calculo-de-frete-na-pagina-do-produto/src/Shipping/ShippingZone.php

Linha 38, comentei o 'state':

/*case 'state': if ($instance->checkZoneLocationByState($zone_location, $destination_postcode)) { $match = WC_Shipping_Zones::get_zone($shipping_zone['id']); } break;*/

bidela commented 3 years ago

@bidela Resolvido paliativamente:

woo-correios-calculo-de-frete-na-pagina-do-produto/src/Shipping/ShippingZone.php

Linha 38, comentei o 'state':

/*case 'state': if ($instance->checkZoneLocationByState($zone_location, $destination_postcode)) { $match = WC_Shipping_Zones::get_zone($shipping_zone['id']); } break;*/

@czamorasoft Obrigado pela solução, apesar de ser paliativa, já consigo prosseguir...

Grato!