FernandoAcosta.Net

Como esconder o simulador em produtos específicos

1 min de leituraAtualizado há 2 semanas3.0.1

O filtro wcsp_is_available decide, produto a produto, se o simulador aparece. Retorne false pra esconder. O produto volta a mostrar o preço normal do WooCommerce.

Onde colocar o código

No functions.php do tema filho ou num plugin de snippets. Não edite os arquivos do plugin.

O que o filtro recebe

Parâmetro Tipo Descrição
$is_available bool Já chega false no painel, em produtos agrupados e sem preço.
$product WC_Product Produto ou variação.

Retorno: bool.

Esconder numa categoria

add_filter( 'wcsp_is_available', function ( $is_available, $product ) {
  $id = $product->is_type( 'variation' ) ? $product->get_parent_id() : $product->get_id();
  if ( has_term( 'vale-presente', 'product_cat', $id ) ) {
    return false;
  }
  return $is_available;
}, 10, 2 );

Esconder abaixo de um valor

add_filter( 'wcsp_is_available', function ( $is_available, $product ) {
  if ( (float) $product->get_price() < 30 ) {
    return false;
  }
  return $is_available;
}, 10, 2 );

Esconder em produtos escolhidos

add_filter( 'wcsp_is_available', function ( $is_available, $product ) {
  if ( in_array( $product->get_id(), [ 123, 456 ], true ) ) {
    return false;
  }
  return $is_available;
}, 10, 2 );

O que o filtro não faz

  • Não esconde o total do carrinho. Pra isso, use Exibição no carrinho na tela de configurações.
  • Não tira o desconto do checkout. Pra um produto sem desconto, zere o discount com o filtro de configurações, como em Regras diferentes por categoria, tag ou preço.
  • Não mostra o simulador sem licença. A checagem da licença vem antes do filtro.

Artigos relacionados

Foi útil?