
本文旨在解决 woocommerce 网站在首页同时展示多个商品分类的需求。通过 `wp_query` 和 `tax_query` 的灵活运用,您可以轻松地在首页展示指定分类下的所有商品,并自定义排序方式,从而提升用户体验和网站的商品展示效果。
在 WooCommerce 中,有时候我们需要在首页或其他页面同时展示多个特定商品分类下的商品。虽然 WP_Query 提供了 product_cat 参数,但直接使用 mobile+laptop 这样的写法并不能达到同时展示多个分类的目的。正确的方法是使用 tax_query 参数,它允许我们更灵活地定义分类查询条件。
使用 tax_query 同时展示多个分类
tax_query 允许我们构建复杂的分类查询,可以指定多个分类,并定义它们之间的关系(AND 或 OR)。以下代码展示了如何在首页同时展示 "mobile" 和 "laptop" 两个商品分类下的所有商品:
<?php
$products = new WP_Query(
array(
'post_type' => '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();
// 在这里展示商品信息,例如:
?>
<div class="product">
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php the_post_thumbnail(); ?>
<p><?php the_excerpt(); ?></p>
</div>
<?php
}
wp_reset_postdata(); // 重置查询
} else {
echo '没有找到商品。';
}
?>代码解释:
注意事项:
总结:
通过使用 WP_Query 和 tax_query,我们可以轻松地在 WooCommerce 网站的首页或其他页面同时展示多个商品分类下的商品。这种方法灵活且可定制,可以满足各种商品展示需求,提升用户体验。务必理解 tax_query 中 relation 参数的作用,根据实际需求选择 'AND' 或 'OR'。
以上就是在 WooCommerce 首页同时展示多个商品分类的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号