Woocommerce - product-archive.php和taxonomy-product_cat.php的不同产品行设置

时间:2015-02-10 22:05:18

标签: php wordpress woocommerce

我试图做什么

我的目标是在archive-product.php上每行显示不同数量的产品,而不是taxonomy-product_cat.php。

到目前为止我做了什么

我按原样使用archive-product.php,在我需要的地方挂钩并​​使用下面的过滤器显示类别拇指,每行5个。

function jm_loop_columns() {
    return 5; // 5 products per row
}
add_filter( 'storefront_loop_columns', 'jm_loop_columns', 999 ); 

我已经将taxonomy-product_cat.php复制到我的子主题中,因为此页面上的样式和布局更多,这里我想每行只显示3个产品。

选项

我可以使用n-child选择器来达到同样的效果,但我不想仅仅使用CSS来做这件事。

根据页面模板,使用不同设置应用上述过滤器的最佳方法是什么?在archive-product.php中返回5并在taxonomy-product_cat.php中返回3

我正在努力解决的许多想法之一是使用is_page或is_page_template编写条件函数来为每个模板加载不同的过滤器设置。

有人建议追求这个方向吗?

1 个答案:

答案 0 :(得分:0)

使用conditional tags怎么样?如果您在product_cat分类页面上,则将列数设置为3.否则,将其保留为5.

function jm_loop_columns( $columns ) {
    if ( is_tax( 'product_cat' ) ){
        $columns = 3;
    } else {
        $columns = 5;
    }
    return $columns;
}
add_filter( 'storefront_loop_columns', 'jm_loop_columns', 999 ); 

这将为您提供适当位置的第一个和最后一个课程,但您可能仍需要一些CSS来更改宽度。