Php 使产品在价格为零时可购买0

Php 使产品在价格为零时可购买0,php,wordpress,plugins,woocommerce,Php,Wordpress,Plugins,Woocommerce,我有一些产品的价格是0。默认情况下,woocommerce使这些产品无法购买。我需要客户能够选择他们的数量,并添加到网站范围内所有产品的购物车 我发现了这个代码片段,并认为它应该可以工作,但事实并非如此。我错过了什么 add_filter( 'woocommerce_is_purchasable', 'wpa_109409_is_purchasable', 10, 2 ); function wpa_109409_is_purchasable( $purchasable, $product )

我有一些产品的价格是0。默认情况下,woocommerce使这些产品无法购买。我需要客户能够选择他们的数量,并添加到网站范围内所有产品的购物车

我发现了这个代码片段,并认为它应该可以工作,但事实并非如此。我错过了什么

add_filter( 'woocommerce_is_purchasable', 'wpa_109409_is_purchasable', 10, 2 );

function wpa_109409_is_purchasable( $purchasable, $product ){
    if( $product->get_price() == 0 )
        $purchasable = false;
    return $purchasable;
}

由于无法查看整个源代码,我不确定这是否可行

但你可以试试这个:

add_filter( 'woocommerce_is_purchasable', 'wpa_109409_is_purchasable', 10, 2 );

function wpa_109409_is_purchasable( $purchasable, $product ){
    if( $product->get_price() >= 0 )
        $purchasable = true;
    return $purchasable;
}

由于无法查看整个源代码,我不确定这是否可行

但你可以试试这个:

add_filter( 'woocommerce_is_purchasable', 'wpa_109409_is_purchasable', 10, 2 );

function wpa_109409_is_purchasable( $purchasable, $product ){
    if( $product->get_price() >= 0 )
        $purchasable = true;
    return $purchasable;
}

没问题!:)很高兴它解决了问题!:)很高兴它修复了itI我认为默认值是,如果您在管理中输入0作为常规价格,那么该产品是“免费”且可购买的。如果您将常规价格留空/空,则该产品不可购买。我认为默认值是如果您在管理中输入0作为常规价格,则该产品是“免费”且可购买的。如果将正常价格留空/空,则无法购买该产品。