Schimbarea numărului de coloane pe pagina principală în WooCommerce

18 sept. 2012, 17:44:08
Vizualizări: 14.5K
Voturi: 1

Caut un răspuns de câteva zile. Am încercat toate fragmentele de cod posibile, am modificat fișierele functions, am creat un template separat pentru conținutul produselor, dar nu reușesc să schimb numărul de produse afișate. Momentan WooCommerce afișează 4 produse pe rând, adăugând o clasă CSS "last" celui de-al patrulea produs. Vreau să afișez produsele în linii de câte trei.

Iată URL-ul magazinului curent: http://teamhappiness.org/store/

0
Toate răspunsurile la întrebare 2
6

Nu ai menționat ce fragmente de cod ai încercat, dar conform documentației, poți filtra loop_shop_columns astfel:

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

testat și funcționează pentru mine cu tema Twenty Eleven.

EDIT - aceasta este linia specifică din fișierul șablon implicit content-product.php care face ca filtrul de mai sus să funcționeze. ai putea să o setezi direct dacă folosești un fișier șablon personalizat și nu ai nevoie să fie filtrat:

// Stochează numărul de coloane pentru afișarea grilei
if ( empty( $woocommerce_loop['columns'] ) )
    $woocommerce_loop['columns'] = apply_filters( 'loop_shop_columns', 4 );
18 sept. 2012 19:51:02
Comentarii

Tocmai am adăugat acel cod, dar tot afișează 4 coloane.

Martin Hasan Martin Hasan
18 sept. 2012 21:35:43

unde l-ai adăugat? în functions.php al temei tale? dacă tot afișează 4 coloane, atunci există ceva în altă parte în tema ta care setează numărul de coloane.

Milo Milo
18 sept. 2012 21:42:32

L-am modificat în functions.php al temei și am creat un fișier template pentru content-product.php

Martin Hasan Martin Hasan
18 sept. 2012 22:47:07

Fișierul tău de șablon aplică filtrul? Vezi editarea de mai sus.

Milo Milo
19 sept. 2012 01:33:46

Da, același lucru. Trebuie să fie ceva care îl suprascrie...

Martin Hasan Martin Hasan
19 sept. 2012 01:42:56

inspectează variabila globală $wp_filter sau fă o căutare în întregul tema pentru cârligul de filtrare loop_shop_columns.

Milo Milo
19 sept. 2012 01:58:42
Arată celelalte 1 comentarii
2

Salutare băieți, căutam soluția la aceeași problemă; tocmai am găsit rezolvarea! Nu implică deloc fișierul content-product.php (cel puțin în cazul meu), ci implică fișierul woocommerce > single-product > related.php. Creați un template pentru acest fișier (dacă nu știți cum să suprascrieți un template WooCommerce studiați asta) și găsiți acest cod:

$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
) );

Tot ce trebuie să faceți este să modificați variabila

$posts_per_page

Cu numărul de produse similare pe care doriți să le afișați! De exemplu:

'posts_per_page'        => 10,

Va afișa 10 produse.

27 dec. 2012 12:11:19
Comentarii

Fii conștient că această soluție poate necesita să modifici fișierul din nou după actualizarea WooCommerce.

fischi fischi
27 dec. 2012 12:41:26

Nu este nevoie să copiezi fișierul template pentru această modificare. Vezi acel filtru woocommerce_related_products_args în partea de sus? Acolo trebuie să te conectezi pentru a suprascrie posts_per_page.

Geert Geert
27 dec. 2012 12:49:13