- Por PHP
- Por CSS
- Por shortcode
Si estás creando un tema, puedes hacer uso de la siguiente función en el functions.php:
/** * Cambiar el número de productos por fila a 4 */ add_filter('loop_shop_columns', 'loop_columns'); if (!function_exists('loop_columns')) { function loop_columns() { return 4; // 4 productos por fila } }
En el caso de que estés trabajando sobre un tema ya creado, es bastante posible que la función de arriba ya esté definida. Así que o bien la buscamos y la editamos, o la anulamos para volver a definirla:
/ ** * Anular la especificación predeterminada del tema para el producto # por fila * / función loop_columns () { retorno 5; // 5 productos por fila } add_filter ('loop_shop_columns', 'loop_columns', 999);
[titulo]Por CSS[/titulo]
El principal problema de aplicar CSS radica en que, aunque modifiquemos el porcentaje de ancho de las columnas para forzar que en lugar de, por ejemplo, 4 productos por fila, se muestren 3, esto hará que los productos se organicen de la siguiente manera:
Para evitar eso, hacemos uso de la propiedad CSS [codigo]clear[/codigo].
Esta propiedad es descrita por Mozilla de la siguiente forma: [subraya_verde]»La propiedad CSS clear
especifica si un elemento puede estar al lado de elementos flotantes que lo preceden o si debe ser movido (cleared) debajo de ellos. La propiedad clear
aplica a ambos elementos flotantes y no flotantes.[/subraya_verde]
Por lo tanto, el código a aplicar ssería algo como lo siguiente:
@media screen and (min-width:1024px) { .woocommerce ul.products li.product { width: 21% !important; margin: 2% !important; clear: none !important; } .woocommerce ul.products li.product:nth-child(4n+1) { clear: both !important; } } @media screen and (min-width: 768px) and (max-width: 980px) { .woocommerce ul.products li.product.first, .woocommerce ul.products li.product.last { clear: right !important; } .woocommerce ul.products li.product:nth-child(4n+1) { clear: none !important; } }
[titulo]Por shortcode[/titulo]
El shortcode es el siguiente:
[recent_products per_page="12" columns="5"]
Donde [codigo]per_page[/codigo] indicará el número de productos a mostrar por página y [codigo]columns[/codigo] el número de productos por fila.
Escribir comentario