在 WooCommerce 首页同时展示多个商品分类

心靈之曲
发布: 2025-11-03 10:43:16
原创
857人浏览过

在 WooCommerce 首页同时展示多个商品分类

本文旨在解决 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 '没有找到商品。';
}
?>
登录后复制

代码解释:

芦笋演示
芦笋演示

一键出成片的录屏演示软件,专为制作产品演示、教学课程和使用教程而设计。

芦笋演示 34
查看详情 芦笋演示
  • 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'。

以上就是在 WooCommerce 首页同时展示多个商品分类的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号