2014-01-23 34 views
6

我正在使用woocommerce與themefores模板。默認情況下,woocommerce每行顯示4個產品,但我想顯示5.更改woocommerce中每行的產品數量

我使用的是兒童模板,因此我複製woocommerce文件,並在裏面有content-product.php文件。

這裏我修改了這個。

if (empty($woocommerce_loop['columns'])) 
    $woocommerce_loop['columns'] = apply_filters('loop_shop_columns', 5); 

但沒有工作。

我讀了如何更改此我發現這個函數,我把我的function.php在子模板

add_filter('loop_shop_columns', 'custom_loop_columns'); 
if (!function_exists('custom_loop_columns')) { 
    function custom_loop_columns() { 
     return 8; 
    } 
} 

但不要太工作。

任何想法如何改變woocomerce每行產品的數量!

+0

我心疼了很久了此...此設置實際上做的工作,但woocommerce具有CSS這effetively覆蓋它使它無用的 - 你不能做出改變不改變CSS以及 –

回答

5

試試這個,

在你的function.php中檢查這個函數。

// Change number or products per row to 3 
add_filter('loop_shop_columns', 'loop_columns'); 
if (!function_exists('loop_columns')) { 
function loop_columns() { 
return 3; // 3 products per row 
} 
} 

然後你的子主題添加此,

// Override theme default specification for product # per row 
function loop_columns() { 
return 5; // 5 products per row 
} 
add_filter('loop_shop_columns', 'loop_columns', 999); 

以瞭解詳情this

希望它可以幫助..

1

在我的情況下,它的工作原理與下面的代碼

我在兒童主題的style.css文件中插入了這些樣式

@media only screen and (min-width: 768px) { 
    ul.products li.product { 
    width: 16.05%!important; 
} 
} 

,並使用下面的PHP代碼爲主題的function.php

remove_action('woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 30); 
add_filter('loop_shop_columns', 'loop_columns'); 
if(!function_exists('loop_columns')) { function loop_columns() { return 5; }} 
if (empty($woocommerce_loop['columns'])) { $woocommerce_loop['columns'] = apply_filters('loop_shop_columns', 4);} 
1

我知道它的晚,但這個代碼(但它是不容易找到一個很好的解決方案在那裏)肯定沒有幫助我:(以兒童爲主題的functions.php者優先)

add_filter('loop_shop_columns', 'wc_loop_shop_columns', 1, 10); 

    /* 
    * Return a new number of maximum columns for shop archives 
    * @param int Original value 
    * @return int New number of columns 
    */ 
    function wc_loop_shop_columns($number_columns) { 
     return 5; 
    } 

和CSS:

.columns-4 ul.products li.product {float:left !important;width:29% !important;} 
.columns-4 .container_inner>ul.products li.product:nth-child(4n+1), .columns-4 .products>ul.products li.product:nth-child(4n+1), div.woocommerce.columns-4 ul.products li.product:nth-child(4n+1), .columns-4 .cross-sells>ul.products li.product:nth-child(4n+1), .columns-4 .woocommerce_with_sidebar ul.products li.product:nth-child(3n+1) { 
clear:none !important; 
}