隐藏 WooCommerce 中缺货的简单产品和整个可变产品

DDD
发布: 2025-08-14 16:08:01
原创
784人浏览过

隐藏 woocommerce 中缺货的简单产品和整个可变产品

本文旨在提供一种通过 functions.php 文件修改 WooCommerce 设置,从而隐藏缺货的简单产品和整个可变产品的方法。通过添加自定义代码片段,可以确保仅显示有库存的产品,从而改善用户体验,避免因缺货产品而造成的困扰。该方法适用于需要隐藏整个产品(包括简单产品和所有变体均缺货的可变产品)的场景。

在 WooCommerce 商店中,默认情况下,即使产品缺货,仍然会在产品目录中显示。这可能会导致用户体验不佳,因为用户可能会点击一个实际上无法购买的产品。本文将介绍如何使用 functions.php 文件,通过添加自定义代码来隐藏缺货的简单产品和整个可变产品(即所有变体都缺货的可变产品)。

实现方法

以下代码片段可以直接添加到您的 WordPress 主题的 functions.php 文件中。请注意,直接修改主题文件存在风险,建议使用子主题或代码片段插件来添加代码,以避免主题更新导致代码丢失。

add_filter( 'woocommerce_product_query_meta_query', 'shop_only_instock_products', 10, 2 );
function shop_only_instock_products( $meta_query, $query ) {
    // Only on shop archive pages
    //if( is_admin() || is_search() || ! is_shop() ) return $meta_query;

    $meta_query[] = array(
        'key'     => '_stock_status',
        'value'   => 'outofstock',
        'compare' => '!='
    );
    return $meta_query;
}
登录后复制

代码解释

  • add_filter( 'woocommerce_product_query_meta_query', 'shop_only_instock_products', 10, 2 );:此行代码将自定义函数 shop_only_instock_products 挂钩到 woocommerce_product_query_meta_query 过滤器。该过滤器允许修改用于查询产品的元查询。
  • function shop_only_instock_products( $meta_query, $query ) { ... }:此函数定义了用于修改元查询的逻辑。
  • $meta_query[] = array( ... );:此行代码向元查询添加了一个新的条件。
    • 'key' => '_stock_status':指定要查询的元键为 _stock_status,它存储产品的库存状态。
    • 'value' => 'outofstock':指定要排除的库存状态为 outofstock。
    • 'compare' => '!=':指定比较运算符为 !=(不等于)。这意味着查询将排除所有 _stock_status 元键值为 outofstock 的产品。
  • return $meta_query;:此行代码返回修改后的元查询。

注意事项

  • 备份: 在修改 functions.php 文件之前,务必备份您的主题文件。
  • 子主题: 建议使用子主题来添加自定义代码,以避免主题更新导致代码丢失。
  • 代码片段插件: 您也可以使用代码片段插件来添加代码,这可以更方便地管理和禁用自定义代码。
  • 测试: 在生产环境中部署之前,请在测试环境中彻底测试代码。
  • 性能: 某些复杂的过滤条件可能会影响商店的性能。如果遇到性能问题,请考虑优化代码或使用缓存插件。
  • 选择性应用: 代码中注释掉的 if 语句 (//if( is_admin() || is_search() || ! is_shop() ) return $meta_query;) 可以用来限制此过滤器仅应用于商店页面。您可以根据需要取消注释并修改这些条件。例如,如果您只想在商店页面上隐藏缺货产品,但在搜索结果中仍然显示它们,则可以取消注释并修改此语句。

总结

通过将上述代码添加到您的 functions.php 文件中,您可以有效地隐藏 WooCommerce 商店中缺货的简单产品和整个可变产品。这将改善用户体验,并确保用户只看到可以购买的产品。请记住,在修改代码之前备份您的文件,并在生产环境中部署之前进行彻底测试。

以上就是隐藏 WooCommerce 中缺货的简单产品和整个可变产品的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

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

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

Copyright 2014-2025 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号