我的目标是在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编写条件函数来为每个模板加载不同的过滤器设置。
有人建议追求这个方向吗?
答案 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来更改宽度。