Suporte » Plugins » Quantidade de produtos exibidos pelo woocommerce no tema vgrossi

  • Resolvido rafaelpires20

    (@rafaelpires20)


    Baixei um tema chamdo vgrossi com suporte a woocommerce, quando criei a loja automaticamente foi criada a página loja com a amostra dos produtos cadastrados, meu problema começa quando mostra quatro linhas com 2 produtos, conforme o link http://www.distribuidoraetica.com.br/loja/categoria-produto/escritorio
    Gostaria de saber se há possibilidades de exibir 4 produtos por linha.

    Ps. Nas configurações do próprio tema, há uma opção para essa exibição. Mas mesmo escolhendo a informação de 4 produtos por linha, o mesmo não exibe desta maneira na página.

    Agradeço a ajuda!

Visualizando 15 respostas - 1 até 15 (de um total de 19)
  • Moderador Felipe Elia

    (@felipeelia)

    Oi @rafaelpires20,

    Experimente colocar o seguinte código no seu functions.php:

    add_filter( 'loop_shop_columns', create_function( '$cols', 'return 4;' ), 20 );

    Não esqueça de voltar aqui para dizer se deu certo e, se for o caso, marcar seu tópico como resolvido, beleza?

    Criador do tópico rafaelpires20

    (@rafaelpires20)

    Devo incluir este código em qualquer parte do functions.php? ou devo substituir alguma parte do código?

    Moderador Felipe Elia

    (@felipeelia)

    Se ele já fizer alguma referência a loop_shop_columns o melhor é substituir, senão pode incluir em qualquer lugar mesmo.

    Criador do tópico rafaelpires20

    (@rafaelpires20)

    Encontrei essa referência abaixo no código

    // Change number or products per row to 4
    function rossi_loop_columns() {
    global $rossi_options;

    return $rossi_options[‘product_per_row’];
    }
    add_filter(‘loop_shop_columns’, ‘rossi_loop_columns’, 999);

    Porém fiz a substituição da ultima linha pelo código informado e não houve alteração

    Moderador Felipe Elia

    (@felipeelia)

    Oi @rafaelpires20,

    Faça o teste trocando
    return $rossi_options[‘product_per_row’];
    por
    return 4;

    e coloque aqui o resultado, por favor?

    Criador do tópico rafaelpires20

    (@rafaelpires20)

    Fiz a modificação abaixo e não obteve resultado. Também alterei a ultima linha para o código me passado anteriormente não modificou

    // Change number or products per row to 4
    function rossi_loop_columns() {
    global $rossi_options;

    return 4;
    }
    add_filter(‘loop_shop_columns’, ‘rossi_loop_columns’, 999);

    Moderador Felipe Elia

    (@felipeelia)

    Oi @rafaelpires20,

    Pode voltar com o código original do tema. O problema parece estar em outro lugar então. Você pode verificar se o seu tema possui os arquivos woocommerce\archive-product.php e woocommerce\content-product.php, por favor? Se eles existirem vou precisar que você os suba no pastebin.com e coloque o link aqui. Provavelmente a classe responsável pelo pulo de linha está sendo tratada diretamente lá.

    Criador do tópico rafaelpires20

    (@rafaelpires20)

    Oi Felipe
    Segue os links no pastebin.com

    archive-product.php
    http://pastebin.com/yi3kyuCS

    content-product.php
    http://pastebin.com/M4tArCYQ

    Moderador Felipe Elia

    (@felipeelia)

    Oi @rafaelpires20,

    Foi esclarecedor. No seu content-product.php ele está fazendo uma escolha baseado no resultado da função rossi_get_layout(). Vai ser preciso descobrir qual é o valor retornado e, por consequência, o arquivo que está sendo usado. Existe alguma tela de escolha de layout nas opções do seu tema? O que está selecionado?

    Você também pode inserir o código:

    echo '<!-- template: ' . var_dump( $webLayout ) . ' -->';

    antes do switch($webLayout), acessar a página e ver no código-fonte o que aparece.

    Descobrindo qual é o arquivo, você pode subi-lo no pastebin para que a gente possa continuar, ok?

    Criador do tópico rafaelpires20

    (@rafaelpires20)

    Ola Felipe

    O arquivo é o content-product-layout-3

    Segue o link no pastebin

    http://pastebin.com/XRMhdvNv

    • Esta resposta foi modificada 7 anos, 3 meses atrás por rafaelpires20.
    Moderador Felipe Elia

    (@felipeelia)

    Oi @rafaelpires20,

    Estamos progredindo. Faça o seguinte teste:

    – na linha 17 troque
    $woocommerce_loop['columns'] = apply_filters('loop_shop_columns', 3);
    por
    $woocommerce_loop['columns'] = 4;

    – na linha 45 troque
    $classes[] = ' item-col col-xs-6 col-sm-'. $colwidth_sm .' col-lg-'.$colwidth ;?>
    por
    $classes[] = ' item-col col-xs-6 col-sm-'. $colwidth_sm .' col-lg-'.$colwidth . ' classe-teste' ;?>

    Assim cada produto obrigatoriamente terá a classe classe-teste (pra gente saber se o woocommerce não está usando algum outro arquivo).

    • Esta resposta foi modificada 7 anos, 3 meses atrás por Felipe Elia.
    Criador do tópico rafaelpires20

    (@rafaelpires20)

    Olá Felipe,

    Realizei as alterações, porém verifiquei no site que ainda exibe só 2 colunas

    Moderador Felipe Elia

    (@felipeelia)

    Oi @rafaelpires20,

    Tente trocar então todo o trecho

    // Store column count for displaying the grid
    if (empty($woocommerce_loop['columns']))
        $woocommerce_loop['columns'] = apply_filters('loop_shop_columns', 3);

    por

    $woocommerce_loop['columns'] = 4;

    Assim a gente força o número de colunas para 4, independentemente se isso está sendo configurado em outro lugar.

    Criador do tópico rafaelpires20

    (@rafaelpires20)

    Bom dia Felipe,
    Fiz a alteração, porém ainda sem sucesso

    Moderador Felipe Elia

    (@felipeelia)

    Puxa @rafaelpires20, que tristeza. Vamos para mais teste então:

    Troque

    if (0 == ($woocommerce_loop['loop'] - 1) % $woocommerce_loop['columns'] || 1 == $woocommerce_loop['columns']) {
        $classes[] = 'first';
    }

    por

    if ( $i++ % 4 == 0 ) {
        $classes[] = 'first';
    }
Visualizando 15 respostas - 1 até 15 (de um total de 19)
  • O tópico ‘Quantidade de produtos exibidos pelo woocommerce no tema vgrossi’ está fechado para novas respostas.