我有以下代码可为单个产品添加简单的通知:
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');
}
}
如果该语句不起作用,则else语句完美。
我做错了什么?任何帮助表示赞赏。
答案 0 :(得分:1)
首先,您似乎已经使用高级产品字段(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:
可用性:Woocommerce设置>产品>库存中有一些相关设置