Come modificare il numero di colonne prodotti in WooCommerce nella pagina principale

18 set 2012, 17:44:08
Visualizzazioni: 14.5K
Voti: 1

Sto cercando una soluzione da diversi giorni. Ho provato ogni snippet possibile, modificato i file functions, creato un template separato per i prodotti ma non riesco a cambiare il numero di prodotti visualizzati. Attualmente WooCommerce mostra 4 prodotti per riga, aggiungendo una classe CSS "last" al quarto prodotto. Vorrei invece visualizzare 3 prodotti per riga.

Ecco l'URL del negozio attuale: http://teamhappiness.org/store/

0
Tutte le risposte alla domanda 2
6

Non hai specificato quali snippet hai effettivamente provato, ma secondo la documentazione, puoi filtrare loop_shop_columns in questo modo:

function wpa65503_woo_shop_columns( $columns ) {
    return 3;
}
add_filter( 'loop_shop_columns', 'wpa65503_woo_shop_columns' );

testato e funzionante per me con il tema Twenty Eleven.

MODIFICA - questa è la riga specifica nel file template predefinito content-product.php che permette al filtro sopra di funzionare. Potresti impostarlo direttamente se stai usando un file template personalizzato e non hai bisogno che sia filtrabile:

// Memorizza il conteggio delle colonne per visualizzare la griglia
if ( empty( $woocommerce_loop['columns'] ) )
    $woocommerce_loop['columns'] = apply_filters( 'loop_shop_columns', 4 );
18 set 2012 19:51:02
Commenti

Ho appena aggiunto quel codice ma mostra ancora 4 colonne.

Martin Hasan Martin Hasan
18 set 2012 21:35:43

dove l'hai aggiunto? nel functions.php del tuo tema? se mostra ancora 4 colonne allora c'è qualcos'altro nel tuo tema che imposta il numero di colonne.

Milo Milo
18 set 2012 21:42:32

L'ho modificato nel functions.php del tema e ho creato un file template per content-product.php

Martin Hasan Martin Hasan
18 set 2012 22:47:07

Il tuo file del template applica il filtro? Vedi la modifica sopra.

Milo Milo
19 set 2012 01:33:46

Sì, stessa cosa. Dev'essere qualcosa che lo sovrascrive...

Martin Hasan Martin Hasan
19 set 2012 01:42:56

ispeziona la variabile globale $wp_filter o fai una ricerca nell'intero tema per l'hook del filtro loop_shop_columns.

Milo Milo
19 set 2012 01:58:42
Mostra i restanti 1 commenti
2

Ragazzi, stavo cercando una soluzione per lo stesso problema; ho appena trovato la risposta! Non riguarda il file content-product.php (almeno nel mio caso), ma il file woocommerce > single-product > related.php Crea un template di questo file (se non sai come sovrascrivere i template di WooCommerce studia questo) e cerca questo codice:

$args = apply_filters('woocommerce_related_products_args', array(
'post_type'             => 'product',
'ignore_sticky_posts'   => 1,
'no_found_rows'         => 1,
'posts_per_page'        => $posts_per_page,
'orderby'               => $orderby,
'post__in'              => $related
) );

Tutto quello che devi fare è cambiare la variabile

$posts_per_page

con il numero di prodotti correlati che vuoi visualizzare! Per esempio:

'posts_per_page'        => 10,

Visualizzerà 10 prodotti.

27 dic 2012 12:11:19
Commenti

Tieni presente che questa soluzione potrebbe richiedere di modificare nuovamente il file dopo aver aggiornato WooCommerce.

fischi fischi
27 dic 2012 12:41:26

Non è necessario copiare il file template per questa modifica. Vedi quel filtro woocommerce_related_products_args in alto? È lì che devi agganciarti per sovrascrivere posts_per_page.

Geert Geert
27 dic 2012 12:49:13