You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改WooCommerce可变产品无变体时的缺货提示文本?

解决方案

你遇到的问题是因为无任何变体的可变产品所显示的缺货提示,并不通过woocommerce_get_availability过滤器控制,而是由woocommerce_out_of_stock_message过滤器单独处理。你可以通过以下方式实现需求:

1. 添加单独代码修改目标提示

在主题的functions.php文件中插入以下代码:

add_filter( 'woocommerce_out_of_stock_message', 'wcs_custom_no_variations_out_of_stock_message', 10, 2 );
function wcs_custom_no_variations_out_of_stock_message( $message, $product ) {
    // 仅对无可用变体的可变产品生效
    if ( $product->is_type('variable') && empty( $product->get_available_variations() ) ) {
        // 替换为你需要的自定义文本
        $message = __('Utsolgt', 'woocommerce');
        // 若需要专属提示,可改成:
        // $message = __('Ingen tilgjengelige varianter', 'woocommerce');
    }
    return $message;
}

2. 优化现有代码逻辑(可选)

你现有代码的判断顺序存在小问题:预订状态的产品同时属于「有货」范畴,会导致预订文本被后续的有货判断覆盖。建议调整现有代码的顺序,同时将新代码整合在一起:

// 修改常规库存状态文本(预订、有货、缺货)
add_filter( 'woocommerce_get_availability', 'wcs_custom_get_availability', 10, 2);
function wcs_custom_get_availability( $availability, $_product ) {
    // 优先判断预订状态(预订产品属于有货,需提前匹配)
    if ( $_product->is_on_backorder() ) {
        $availability['availability'] = __('Bestillingsvare 10-15 dager', 'woocommerce');
    }
    // 判断有货状态
    elseif ( $_product->is_in_stock() ) {
        $availability['availability'] = __('På lager', 'woocommerce');
    }
    // 判断缺货状态
    else {
        $availability['availability'] = __('Utsolgt', 'woocommerce');
    }
    return $availability;
}

// 修改无变体可变产品的缺货提示
add_filter( 'woocommerce_out_of_stock_message', 'wcs_custom_no_variations_out_of_stock_message', 10, 2 );
function wcs_custom_no_variations_out_of_stock_message( $message, $product ) {
    if ( $product->is_type('variable') && empty( $product->get_available_variations() ) ) {
        $message = __('Utsolgt', 'woocommerce');
    }
    return $message;
}

补充说明

  • get_available_variations()会返回产品的所有有效变体(排除缺货、未发布的变体),返回空数组则代表该可变产品无任何可选择的变体。
  • 使用__()函数包裹文本,可保证内容的多语言兼容性。

内容的提问来源于stack exchange,提问作者Thomas Gajda Asbjørnhus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 10:25:27