WooCommerce

Permitir apenas um produto por compra no WooCommerce

Se por algum motivo você quer restringir o carrinho a apenas um produto por vez, você pode usar este pequeno código abaixo:

https://gist.github.com/fernandoacosta/de638766f8d7d36b80a4

Basicamente ele vai limpar o carrinho antes de adicionar um novo item. Aí não há exibição de nenhuma mensagem, mas você pode facilmente adicionar um aviso ao cliente com a função wc_add_notice(), para que ele não pense que é um erro.

Além disso, no comportamento descrito acima o novo produto é que ficará no carrinho. Utilizando os mesmos filtros é possível personalizar para que o novo item que seja bloqueado. Vai da sua criatividade e necessidade.

Este é um exemplo básico que pode ser adaptado  a regras futuras.