Suporte » Plugins » Mostrar apenas produtos em estoque

  • Resolvido silperman

    (@silperman)



    Em minha homepage apresento um grid com os produtos recentes utilizando um shortcode do woocommerce (recent_products). O meu problema é que preciso mostrar apenas os produtos em estoque e isso não sei como fazer.
    Alguém sabe se é possível alterar o shortcode pra filtrar por disponibilidade ou mesmo, se há algum outro meio pra fazer o que preciso?
    Já pesquisei vários plugins e matérias mas não encontrei algo que me ajudasse… mesmo porque meu conhecimento em programação ainda é bem limitado.
    Alguém consegue me ajudar??

Visualizando 3 respostas - 1 até 3 (de um total de 3)
  • Daniel Costa

    (@danielcardcosta)

    Será que rola remover os produtos fora de estoque no site ?
    poe nao exibir produtos fora de estoque e boa, ou poe um shortcodes por ID de produtos e seleciona um a um dos quais voce queira.

    Olá Daniel, obrigado pela atenção.
    Esta loja é também um fonte de pesquisa, por isso os produtos comercializados;fora de estoque devem estar disponível, porém só no catálogo/loja.
    Ja na home do site é apresentado randomicamente 10 produtos que estão disponíveis para venda. Daí a necessidade de filtrar por disponibilidade em estoque.

    Utilizei esta filtragem abaixo, que a prinípio funcionou só que cada vez que é carregado a página a quantidade de produtos varia.
    Saberia me dizer qual pode ser o motivo disso? Ou mesmo se tiver alguma outra idéia pra esta necessidade…

    
    add_filter( 'woocommerce_product_is_visible', 'pbs_woo_disp_selected_out_of_stock_products', 2, 99 );
    
    function pbs_woo_disp_selected_out_of_stock_products( $visible, $productId ) {
        
        // Replace "6838" with your product post ID. If you want to hide multiple no. of out of stock products, 
        // add further product IDs in this if statement comparision.
        if($productId == 6838)
        {
           // All the product here will be displayed.
        }
        else
        {
            $product = new WC_Product($productId);
            if(!$product->is_in_stock())
            {
                $visible = false;
            }
        }
        return $visible;
    }

    Eceerrando este tópico

Visualizando 3 respostas - 1 até 3 (de um total de 3)
  • O tópico ‘Mostrar apenas produtos em estoque’ está fechado para novas respostas.