Php 添加到缺货可用性文本中,即Woocommerce单个产品中的可用性日期

Php 添加到缺货可用性文本中,即Woocommerce单个产品中的可用性日期,php,wordpress,woocommerce,advanced-custom-fields,stock,Php,Wordpress,Woocommerce,Advanced Custom Fields,Stock,我有以下代码为单个产品添加了一个简单的通知: 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;">&

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

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');
    }
}
add_action('woocommerce_后加_至_cart_表单','acf_字段描述',15);
功能acf_字段_说明(){
全球$产品;
如果(!$product->库存中(){
回显“”。“(“产品将从:”、“flatsome”)获得。””。获取字段(“可用日期”);
}否则{
echo(“产品可用”、“扁平”);
}
}
If语句不起作用,但else语句工作正常


我做错了什么?非常感谢您的帮助。

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

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;
}
//更改产品可用性文本
添加过滤器('woocommerce\u get\u availability\u text','filter\u product\u availability\u text',10,2);
函数过滤器\产品\可用性\文本($availability,$product){
$date_of_availability=get_字段(“date_of_availability”);
如果(!$product->is_in_stock()&&&!empty($date_of_availability)){
$availability.='-('.'u'u'可从:'获得,'flatsome')。'.获取'u字段('u可用日期');
}
返回$availability;
}
代码进入活动子主题(或活动主题)的function.php文件。测试和工作

更改了库存可用性显示,定义了可用性日期:


默认库存可用性显示:

可用性:商业设置>产品>库存中有一些相关设置