Ocultar variantes esgotadas

É possível impedir que os clientes selecionem variantes esgotadas removendo ou desabilitando essas variantes na página do produto.

Limitações

As personalizações descritas nesta página não funcionam nos seguintes casos:

  • Os produtos têm mais de uma opção de produto
  • Você usa o tema Express, e a página do produto está definida para exibir produtos em uma sobreposição

Temas com ou sem seções

Etapas para temas com seções

Selecionar seu tema

As etapas para essa personalização variam dependendo do seu tema. Clique no botão do seu tema antes de seguir as instruções abaixo:

Etapas para temas sem seções

Ocultar variantes esgotadas

Se você usa um tema sem seções, siga estas etapas para ocultar as variantes esgotadas na página do produto.

  1. No admin da Shopify, acesse Loja virtual > Temas.
  2. Encontre o tema que você quer editar, clique no botão para abrir o menu de ações e, depois, em Editar código.
  3. No diretório Snippets, clique em Adicionar um novo snippet de código.
  4. Nomeie o novo snippet como remove-sold-out:
    Add new snippet
  5. No arquivo do novo snippet, cole o código a seguir:
{% if product.options.size == 1 %}
<script>
  const addToCartForm = document.querySelector('form[action="/cart/add"]');
  if (window.MutationObserver && addToCartForm !== null) {
    if (typeof observer === 'object' && typeof observer.disconnect === 'function') {
      observer.disconnect();
    }
    var config = { childList: true, subtree: true };
    var observer = new MutationObserver(function() {
      let variantOptions = Array.from(document.querySelectorAll('.single-option-selector option'));
      {% for variant in product.variants %}
      {% unless variant.available %}
      variantOptions.forEach(function(element) {
        if (element.value === {{ variant.title | json }}) {
            element.remove();
        }
      });
      {% endunless %}
      {% endfor %}
      observer.disconnect();
    });
    observer.observe(addToCartForm, config);
  }
</script>
{% endif %}
  1. Clique em Salvar.
  2. No diretório Layout, clique em theme.liquid.
  3. Perto do final do arquivo, pouco antes de da tag de fechamento </body>, cole este código:
{% render 'remove-sold-out' %}
  1. Clique em Salvar.

Desabilitar variantes esgotadas

Se você usa um tema sem seções, siga estas etapas para desabilitar as variantes esgotadas. Elas ainda são exibidas na página do produto, mas não podem ser selecionadas.

  1. No admin da Shopify, acesse Loja virtual > Temas.
  2. Encontre o tema que você quer editar, clique no botão para abrir o menu de ações e, depois, em Editar código.
  3. No diretório Snippets, clique em Adicionar um novo snippet de código.
  4. Nomeie o novo snippet como disable-sold-out:
    Add new snippet
  5. No arquivo do novo snippet, cole o código a seguir:
{% if product.options.size == 1 %}
<script>
  const addToCartForm = document.querySelector('form[action="/cart/add"]');
  if (window.MutationObserver && addToCartForm !== null) {
    if (typeof observer === 'object' && typeof observer.disconnect === 'function') {
      observer.disconnect();
    }
    var config = { childList: true, subtree: true };
    var observer = new MutationObserver(function() {
      let variantOptions = Array.from(document.querySelectorAll('.single-option-selector option'));
      {% for variant in product.variants %}
      {% unless variant.available %}
      variantOptions.forEach(function(element) {
        if (element.value === {{ variant.title | json }}) {
            element.setAttribute('disabled', '');
        }
      });
      {% endunless %}
      {% endfor %}
      observer.disconnect();
    });
    observer.observe(addToCartForm, config);
  }
</script>
{% endif %}
  1. Clique em Salvar.
  2. No diretório Layout, clique em theme.liquid.
  3. Perto do final do arquivo, pouco antes de da tag de fechamento </body>, cole este código:
{% render 'disable-sold-out' %}
  1. Clique em Salvar.

Tudo pronto para começar a vender com a Shopify?

Experimente de graça