web-dev-qa-db-fra.com

WooCommerce changer le nombre de colonnes dans la page d'accueil

Je cherche une réponse depuis quelques jours maintenant. J'ai essayé tous les extraits de code possibles, en modifiant les fichiers de fonctions, en créant un modèle distinct pour les produits de contenu, mais je ne peux pas modifier le nombre de produits répertoriés. Actuellement, WooCommerce affiche 4 produits par ligne. Ajouter une classe CSS de "dernier" à ce quatrième produit. Je souhaite afficher les produits dans une ligne de trois produits.

Voici l'URL du magasin actuel: http://teamhappiness.org/store/

1
Martin Hasan

Vous n'avez pas dit quels extraits vous avez réellement essayés, mais selon la documentation, vous pouvez filtrer loop_shop_columns like so:

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

testé et travaillant pour moi avec le thème Twenty Eleven.

EDIT- il s'agit de la ligne particulière du fichier de modèle par défaut content-product.php qui permet au filtre ci-dessus de fonctionner. vous pouvez simplement le définir directement si vous utilisez un fichier de modèle personnalisé et que vous n'avez pas besoin de ce dernier pour pouvoir être filtré:

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

Hé les gars, je cherchais autour du même problème; vient de trouver la solution! Il ne s'agit pas du tout de content-product.php (du moins dans mon cas), mais du fichier woocommerce> single-product> related.php Créez un modèle de ce fichier (si vous ne savez pas comment remplacer le modèle WooCommerce étudiez cela ) et trouvez ce code:

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

Tout ce que vous avez à faire est de changer la variable

$posts_per_page

Dans quel nombre de produits liés vous souhaitez afficher! Par exemple:

'posts_per_page'        => 10,

Affichera 10 produits.

1
Jérémie Jimenez