贝利信息

在特定WooCommerce分类中显示缺货商品

日期:2025-11-04 00:00 / 作者:DDD

本教程旨在解决WooCommerce中全局隐藏缺货商品后,如何在特定分类中仍然显示缺货商品的需求。通过使用`woocommerce_hide_out_of_stock_items`过滤器,我们可以针对特定分类覆盖全局设置,从而实现灵活的商品展示策略。

WooCommerce默认允许全局设置是否隐藏缺货商品。然而,在某些场景下,我们可能需要在特定分类中显示所有商品,即使它们已经缺货。例如,为了预售、展示即将补货的商品,或者仅仅为了让用户了解所有可购买的商品种类。

要实现这个功能,我们可以使用WordPress的过滤器(Filter)机制,特别是woocommerce_hide_out_of_stock_items过滤器。这个过滤器允许我们修改WooCommerce是否隐藏缺货商品的全局设置。

实现步骤:

  1. 添加代码到主题的functions.php文件或自定义插件中。 强烈建议不要直接修改主题文件,而是创建一个子主题或者使用自定义插件来添加代码,以避免主题更新导致代码丢失。

  2. 使用以下代码片段:

add_filter( 'pre_option_woocommerce_hide_out_of_stock_items', 'bbloomer_hide_out_of_stock_exception_category' );

function bbloomer_hide_out_of_stock_exception_category( $hide ) {
   if ( is_product_category( 'specific-category' ) ) {
      $hide = 'no';
   }
   return $hide;
}

代码解释:

注意事项:

总结:

通过使用woocommerce_hide_out_of_stock_items过滤器,我们可以灵活地控制WooCommerce中缺货商品的显示策略。本教程提供了一个简单的示例,演示了如何在特定分类中显示缺货商品。您可以根据自己的需求修改代码,例如,可以根据商品ID、用户角色等条件来控制缺货商品的显示。