本文旨在解决 woocommerce 网站在首页同时展示多个商品分类的需求。通过 `wp_query` 和 `tax_query` 的灵活运用,您可以轻松地在首页展示指定分类下的所有商品,并自定义排序方式,从而提升用户体验和网站的商品展示效果。
在 WooCommerce 中,有时候我们需要在首页或其他页面同时展示多个特定商品分类下的商品。虽然 WP_Query 提供了 product_cat 参数,但直接使用 mobile+laptop 这样的写法并不能达到同时展示多个分类的目的。正确的方法是使用 tax_query 参数,它允许我们更灵活地定义分类查询条件。
使用 tax_query 同时展示多个分类
tax_query 允许我们构建复杂的分类查询,可以指定多个分类,并定义它们之间的关系(AND 或 OR)。以下代码展示了如何在首页同时展示 "mobile" 和 "laptop" 两个商品分类下的所有商品:
'product',
'posts_per_page' => -1, // 显示所有商品
'orderby' => 'rand', // 随机排序
'tax_query' => array(
'relation' => 'AND', // 必须同时属于这两个分类
array(
'taxonomy' => 'product_cat', // 分类法为 product_cat
'field' => 'slug', // 使用分类别名
'terms' => 'mobile', // 分类别名为 mobile
),
array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => 'laptop',
),
),
)
);
if ( $products->have_posts() ) {
while ( $products->have_posts() ) {
$products->the_post();
// 在这里展示商品信息,例如:
?>
">
代码解释:
注意事项:
总结:
通过使用 WP_Query 和 tax_query,我们可以轻松地在 WooCommerce 网站的首页或其他页面同时展示多个商品分类下的商品。这种方法灵活且可定制,可以满足各种商品展示需求,提升用户体验。务必理解 tax_query 中 relation 参数的作用,根据实际需求选择 'AND' 或 'OR'。