Wordpress 对不起,此产品无法购买。吴哥商业

Wordpress 对不起,此产品无法购买。吴哥商业,wordpress,woocommerce,advanced-custom-fields,Wordpress,Woocommerce,Advanced Custom Fields,我已经使用ACF wordpress插件创建了一个高级自定义字段,以检查该产品是否在本月可用。我使用的代码如下所示,但当它工作到显示AddtoCart按钮时,如果产品在该月可用,则显示消息 现在的问题是,当产品可以购买时,如果我单击“添加到购物车”,它会显示“对不起,此产品无法购买”。我无法找到它有什么问题 add_filter('woocommerce_is_purchasable', 'woocommerce_is_purchasable_filter_callback', 10, 2 );

我已经使用ACF wordpress插件创建了一个高级自定义字段,以检查该产品是否在本月可用。我使用的代码如下所示,但当它工作到显示AddtoCart按钮时,如果产品在该月可用,则显示消息

现在的问题是,当产品可以购买时,如果我单击“添加到购物车”,它会显示“对不起,此产品无法购买”。我无法找到它有什么问题

add_filter('woocommerce_is_purchasable', 'woocommerce_is_purchasable_filter_callback', 10, 2 );
function woocommerce_is_purchasable_filter_callback( $purchasable, $product ) {
    $months      = (array) get_field('availability');
    $purchasable = in_array( date('F'), $months ) ? $purchasable : false;

    return $purchasable;
}

add_action( 'woocommerce_single_product_summary', 'unavailable_product_display_message', 20 );
function unavailable_product_display_message() {
    global $product;

    if(! $product->is_purchasable() ){
        echo '<p style="color:#e00000;">' . __("This product is currently unavailable.") . '</p>';
    }
}
add_filter('woocommerce_可购买','woocommerce_可购买_filter_callback',10,2);
函数是可购买的过滤器回调($purchasable,$product){
$months=(数组)get_字段(“可用性”);
$purchasable=在数组中(日期('F'),$months)?$purchasable:false;
返回$purchable;
}
添加操作('woocommerce\u single\u product\u summary'、'unavailable\u product\u display\u message',20);
功能不可用\u产品\u显示\u消息(){
全球$产品;
如果(!$product->可购买()){
echo'

。uu(“此产品当前不可用)。”

; } }
尝试更改这行代码:

$months = (array) get_field('availability');
致:

get_field函数不知道从哪个产品中获取,因此这将是一个空数组。发生这种情况时,变量$purchasable将始终为false

$months = (array) get_field('availability', $product->get_id());