2016-11-06 54 views
2

我在WordPress 4.6.1上设置Woocommerce 2.6.7。WooCommerce产品子类与父母的展示

我在WooCommerce设置设置/产品展示:

“店铺页面显示” =“显示类别”
“默认类别显示” =“显示子类别”。

我的目标是同时拥有店铺页面和显示小类3列显示页面的布局,像截图:

screenshot1

而且有页面,实际上显示属于类别或子类别的产品显示在一列中。我是Stack Overflow的新手,所以它不会让我发布超过2张图片,但是如果你看到下一张图片,你就会明白。

随着一些CSS和我在Woocommerce文档中找到的代码片段,我已经设法让我属于某个类别的产品显示出我想要的样子。

add_filter('loop_shop_columns', 'loop_columns'); 
    if (!function_exists('loop_columns')) { 
    function loop_columns() { 
    if (is_product_category() || is_product_tag()) { 
    return 1; 
    } 
    // for other archive pages and shop page 
    else { 
    return 3; 
    }}} 

但现在我有子类别也显示在一列中,像这样:

screenshot2

我怎样才能让这个页面显示有3列,如店铺页面上,并不会影响产品的1列显示?基本上,因为我已经通过Woocommerce产品显示设置以商店展示的方式展示了我想要的方式,我想我需要一种方法来只定位具有父项的SubCategories,并使它们显示3列。

任何意见或建议将受到欢迎。

回答

0

一些试验和错误之后,我发现改变我发现的代码: This site

最困难的事情是让该进入的functions.php代码。 其余的只是CSS。

该做的工作,我的目的:

function ym_are_there_subcategories() { 
global $wp_query; 

$current_page = get_queried_object(); 
$children = get_term_children($current_page->term_id, 'product_cat'); 

return (empty($children) ? false : true); 
} 


add_filter('loop_shop_columns', 'loop_columns'); 
if (! function_exists('loop_columns')) { 
function loop_columns() { 

if (is_shop() || ym_are_there_subcategories() ) { 

return 3; 
} else { 
return 1; 
} // end if subcats 
} // end loop_columns() 
} // end if function_exists 

我希望别人觉得它有用。对我来说,这是一个让人困惑的日子。

,现在显示的子类别的网页看起来是这样的:

screenshot

相关问题