Woocommerce - product-archive.php 和 taxonomy-product_cat.php 的不同产品行设置
Woocommerce - Different product row setting for product-archive.php and taxonomy-product_cat.php
我正在尝试做什么
我的目标是在 archive-product.php 和分类法-product_cat.php.
上每行显示不同数量的产品
到目前为止我做了什么
我按原样使用存档-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 个产品。
选项
我可以使用 nth-child 选择器来达到相同的效果,但我宁愿避免仅使用 CSS 来实现这一点。
根据页面模板应用具有不同设置的上述过滤器的最佳方法是什么?在 archive-product.php 中返回 5,在 taxonomy-product_cat.php
中返回 3
我正在思考的众多想法之一是使用 is_page 或 is_page_template 编写条件函数来为每个模板加载不同的过滤器设置。
有人会推荐这个方向吗?
使用 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 来更改宽度。
我正在尝试做什么
我的目标是在 archive-product.php 和分类法-product_cat.php.
上每行显示不同数量的产品到目前为止我做了什么
我按原样使用存档-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 个产品。
选项
我可以使用 nth-child 选择器来达到相同的效果,但我宁愿避免仅使用 CSS 来实现这一点。
根据页面模板应用具有不同设置的上述过滤器的最佳方法是什么?在 archive-product.php 中返回 5,在 taxonomy-product_cat.php
中返回 3我正在思考的众多想法之一是使用 is_page 或 is_page_template 编写条件函数来为每个模板加载不同的过滤器设置。
有人会推荐这个方向吗?
使用 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 来更改宽度。