Estou tentando adicionar um produto de variação ao meu carrinho diretamente por meio de um link. Estou definindo o selection_id com a string de consulta. Pelo que sei, estou enviando os dados exatamente da mesma maneira que o formulário de produto de variação padrão.
Aqui está o código dentro da minha página de produto único:
<a href="<?php echo esc_url( $product->add_to_cart_url() ); ?>&variation_id=262" class="rounded-rect-button add-to-cart">Add to Cart</a>
Por outro lado, o produto simples funciona bem. Defina os preços para minhas variações de produto no administrador. Não sei por que não é tão simples quanto enviar os dados. Qualquer ajuda seria muito apreciada.
fonte
Descobri este. Faltavam alguns parâmetros necessários para adicionar um produto variável ao meu carrinho. Os parâmetros ausentes são
variation_id
e o tipo de atributo ao qualvariation_id
está se referindo. O ID da variação pode ser encontrado nos produtos admin> woocomerce> e na guia variações ao lado da variação do produto que você criou.O parâmetro param é formado a partir do prefixo
attribute_
e, em seguida, o nome do atributo higienizado. Por exemplo, meu atributo se chama Cores de estoque, portanto, meu tipo de atributo param é attribute_stock-colors. Pelo que sei, você acabou de definirattribute_stock-colors=1
porque o método add to cart apenas verifica se ele existe.Aqui está um exemplo simples de um link que adiciona um produto ao meu carrinho com o ID de variação 261 das cores do estoque:
Para usar isso em uma situação real, você precisa definir dinamicamente o tipo de atributo e o ID da variação nas opções que o usuário selecionou em um menu suspenso ou algo parecido (a menos que cada produto tenha a mesma variação, o que basicamente o tornaria um produto simpel )
fonte