Woocommerce Adicione o Produto de Variação ao Carrinho a partir do link personalizado

Estou tentando adicionar um produto de variação ao meu carrinho diretamente através de um link. Estou configurando o change_id com a seqüência de consulta. Tanto quanto posso dizer, estou enviando os dados exatamente da mesma maneira que o formulário do produto de variação padrão.

Aqui está o código dentro da minha página de produto único:

<a href="https://wordpress.stackexchange.com//questions/86967/woocommerce-add-variation-product-to-cart-from-custom-link/add_to_cart_url() ); ?>&variation_id=262" class="rounded-rect-button add-to-cart">Add to Cart 

Por outro lado, o produto simples funciona bem. Eu estabeleci preços para as variações de meu produto no administrador. Não tenho certeza por que não é tão simples quanto enviar os dados. Qualquer ajuda seria muito apreciada.

Solutions Collecting From Web of "Woocommerce Adicione o Produto de Variação ao Carrinho a partir do link personalizado"

Atualmente, trabalho em uma loja woocommerce v2.1.12 e parece que eles chaged esse comportamento.

meu URL do ajax para adicionar itens ao carrinho tem que ser assim:

 ?add-to-cart=[PRODUCT-ID]&variation_id=[VARIATION-ID]&attribute_[ATTRIBUTE-NAME]=[ATTRIBUTE-SLUG]&attribute_[ATTRIBUTE-NAME]=[ATTRIBUTE-SLUG] 

exemplo:

 http://example.com/store/category/product/?add-to-cart=239&variation_id=240&attribute_pa_size=48-2&attribute_pa_color=gold 

Isso adiciona um produto específico ao carrinho e também define os atributos de variação no carrinho. você pode até definir a quantidade simplesmente adicionando &quantity=[VALUE]

no final, isso é útil porque todos esses valores são definidos dentro do formulário de envio / campos selecionados, você só precisa olhar para eles.

Achei isso. Faltava alguns parâmetros necessários para adicionar um produto variável ao meu carrinho. Os parágrafos ausentes são o variation_id e o tipo de atributo ao qual o variation_id está se referindo. O id de variação pode ser encontrado nos produtos admin> woocomerce> e na guia de variações ao lado da variação do produto que você criou.

O atributo param é formado a partir do attribute_ prefixo_ e, em seguida, o nome do atributo sanitizado. Por exemplo, meu atributo é chamado Stock Colors, então meu parâmetro de tipo de atributo é attribute_stock-colors. Pelo que eu posso dizer, você simplesmente define attribute_stock-colors=1 porque o método add to cart apenas verifique se ele existe.

Aqui está um exemplo simples de um link que adiciona um produto ao meu carrinho com variação id 261 de colors de estoque:

 Add to Cart 

Para usar isso em uma situação real, você precisaria definir o tipo de atributos e a id de variação de forma dinâmica a partir das opções que o usuário escolheu em um menu suspenso ou algo assim (a menos que cada produto tenha a mesma variação, o que basicamente o tornaria um produto simpel ).