添加到 Out-of-stock availability 文本,Woocommerce 单个产品中的可用日期

Add to Out-of-stock availability text, an availability date in Woocommerce single products

我有以下代码可以为单个产品添加一个简单的通知:

add_action( 'woocommerce_after_add_to_cart_form', 'acf_field_description', 15 );

function acf_field_description() {
    global $product;

    if ( ! $product->is_in_stock() ) {
        echo '<div style="color: red;"><strong>' . __('Product will be available from: ', 'flatsome') . '</strong>' . get_field('date_of_availability') . '</div>';
    } else {
        echo __('Product is available', 'flatsome');
    }
}

If 语句不起作用,但 else 语句完美。

我做错了什么?感谢任何帮助。

首先,您似乎已经使用高级产品字段 (ACF) 插件创建了一个产品自定义日期字段 date_of_availability

WooCommerce 已经在产品中显示库存可用性功能,请尝试使用以下代码:

// Change product availability text
add_filter( 'woocommerce_get_availability_text', 'filter_product_availability_text', 10, 2);
function filter_product_availability_text( $availability, $product ) {
    $date_of_availability = get_field('date_of_availability');

    if ( ! $product->is_in_stock() && ! empty($date_of_availability) ) {
        $availability .= '<span style="color:#e2401c;"><strong>- (' . __('Available from:', 'flatsome') . ' </strong>' . get_field('date_of_availability') . ')</span>';
    }
    return $availability;
}

代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。

更改了缺货显示,定义了可用日期:


默认 WooCommerce 库存显示:

Availability: There are some related settings in Woocommerce Settings > Products > Inventory