Como limitar a entrega a determinados Estados no WooCommerce

Às vezes quando se está iniciando uma operação de e-commerce é interessante começar a operar em apenas algumas regiões para validar o mercado e não ter tantos contratempos com questões logísticas.

O mesmo se aplica em alguns outros casos onde você vende produtos específicos para uma determinada cidade ou região, como doces a pronta entrega ou cartões de eventos.

Nesses casos, você precisa limitar a sua loja virtual para que aceite pedidos apenas de clientes que estejam dentro da sua área de abrangência. Um jeito simples – e pouco eficaz – de se fazer isso é deixando uma mensagem no seu site. Então o usuário vai ler, perceber que não faz parte dá área atendida e deixar o site.

Mas e se ele não ler o aviso? Você vai ter que entrar em contato diretamente com ele e explicar o ocorrido. Embora você tenha que cumprir a oferta que está descrita no site, esse método geralmente funciona. Mas não é nada prático entrar em contato por e-mail com os clientes, né?

Então, combinado com a mensagem, você pode limitar a venda na hora do checkout.

É bem simples e deixo logo abaixo um código exemplo sobre como fazer isso.

Os códigos são bem simples e os explico logo abaixo.

No primeiro caso, estou limitando a venda para estados específicos. Na hora de finalizar a compra, o cliente pode escolher qualquer estado e, depois, se não estiver autorizado o WooCommerce irá exibir um erro, impedindo o cliente de finalizar a compra.

O segundo exemplo oculta os estados não autorizados da lista. Então na hora do checkout só é possível escolher os estados autorizados. Nesse caso, apenas o Rio Grande do Sul.

Você deve adicionar um estado por linha seguindo o exemplo modelo.

Se preciso posso fazer um outro tutorial mostrando como limitar a venda no WooCommerce de acordo com o CEP também.

18 comentários em “Como limitar a entrega a determinados Estados no WooCommerce”

  1. É possível aproveitar e limitar algumas categorias de produtos por area de entrega. Exemplo: Categoria 1 só entrega na area de entrega (RJ – Zona Sul)

  2. Fernando e demais

    Como poderia adaptar para restringir por categoria, ou por produto, ou por etiqueta de produtos?

    Alguem poderia me orientar com codigo?

    Obrigadão!
    Abs

  3. Meu caro, coloquei os códigos, um de cada vez. O primeiro não funcionou, o segundo deu o seguinte erro:

    Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‘wc_limitar_estados_especificos’ not found or invalid function name in

  4. Olá a todos.
    Estou resolvendo comentar para ajudar os amigos com uma segunda solução.
    É o seguinte, vá no site dos correios, busque por Faixas de CEP. Se pretende entregar para todo Estado, coloque apenas o Estado no campo. Pós isso será exibida as faixas de CEP por cidades do estado.
    Agora vá em Woocommerce>Áreas de Entregas>Adicionar áreas de entregas>”Limitar para CEPs específicos” e coloque aqui os CEPs que você quer delimitar.

    Pronto!

    Para facilitar na hora de inserir as dezenas ou centenas de CEPs, copie toda tabela que for exibido no site dos Correios e cole no Excel. Agora basta copiar a coluna dos CEPS e colocar no “Limitar para CEPs específicos”

  5. boa tarde fernando,
    li seu artigo sobre como limitar a entrega a determinados estados no woocommerce, que está ótimo e muito funcional, mas gostaria de saber se posso restringir esta condição para produtos específicos da loja? e sim sim, como fazer? obrigado

  6. Muito bom. Funcionou perfeito pra mim. Eu precisava fazer o mesmo para bairros e só substitui state por neighborhood e deu certinho. Muito obrigado por compartilhar essa dica. Ainda tem em mente fazer para CEP? Seria bem útil.

  7. seria possível eu fazer uma lista de bairros na cidade , cada um com valor fixo de entrega e aí o cliente digitar o nome do bairro e aparecer o valor da taxa? fiz uma lista dropdown com mátodos de entrega com taxa fixa para cada bairro e seu valor, porem a lista ficou muito grande. o ideial seria o cliente poder digitar o bairro e aparecer a taxa; com venda apenas para uma cidade. alguma dica? obrigado!

    1. Fernando Fresinghelli

      Olá!
      É possível fazer uma lista mais inteligente, como a que o WooCommerce usa nos países, por exemplo. Mas deixar a escrita livre é mais complicado porque o cliente teria que escrever o nome do bairro exatamente como você tem no registro, caso contrário daria como inválido. Por isso que uma lista é mais adequado mesmo.

  8. Então…me surgiu uma duvida.
    Seu código pode suprir os estados, mas ele supre pra quem compra também.

    Se minha operação é unicamente no Rio de Janeiro, mas alguem de São Paulo quer comprar, mas a entrega será num endereço no rio, como proceder?

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *