
本文旨在解决 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();
// 在这里展示商品信息,例如:
?>
代码解释:
前台功能介绍:1、网页首页显示有高级会员推荐,精品推荐,商业机会分类列表,最新供求信息,网站动态,推荐企业,行业动态等;2、商业机会栏目功能有:二级分类,已经带有详细分类的数据库,后台可以更改增加操作,并可以推荐公司,栏目分为分类显示信息,最新的采购、供应、合作和代理信息,搜索时同样按分类,信息,时间,交易类型等搜索;3、展厅展品栏目功能:二级分类,已经带有详细分类的数据库,后台可以更改增加操作,
- post_type:指定查询的 post 类型为 'product',即 WooCommerce 商品。
- posts_per_page:设置为 -1 表示显示所有符合条件的商品。
- orderby:设置为 'rand' 表示随机排序。
- tax_query:这是关键部分,它定义了分类查询条件。
- relation:设置为 'AND' 表示商品必须同时属于 mobile 和 laptop 这两个分类。如果改为 'OR',则表示商品属于其中一个分类即可。
- taxonomy:指定分类法为 'product_cat',这是 WooCommerce 商品分类的分类法。
- field:指定使用分类的哪个字段进行匹配。这里使用 'slug',即分类别名。也可以使用 'term_id',即分类 ID。
- terms:指定要匹配的分类别名。这里分别是 'mobile' 和 'laptop'。
注意事项:
- 确保你的 WooCommerce 网站中存在名为 "mobile" 和 "laptop" 的商品分类,并且商品已经正确分配到这些分类中。
- 代码中的 the_title(), the_permalink(), the_post_thumbnail(), the_excerpt() 等函数是 WordPress 提供的模板标签,用于获取商品标题、链接、缩略图和摘要等信息。你需要根据自己的网站主题和设计来调整这些标签的使用方式。
- wp_reset_postdata() 函数用于重置查询,防止影响后续的 WordPress 查询。
- 如果你的分类数量很多,或者需要更复杂的查询条件,可以进一步调整 tax_query 的参数。
总结:
通过使用 WP_Query 和 tax_query,我们可以轻松地在 WooCommerce 网站的首页或其他页面同时展示多个商品分类下的商品。这种方法灵活且可定制,可以满足各种商品展示需求,提升用户体验。务必理解 tax_query 中 relation 参数的作用,根据实际需求选择 'AND' 或 'OR'。









