WooCommerce动态定价-不包括销售产品



我正在使用WooCommerce动态定价,并试图在我的网站上运行所有产品,但不包括正在销售的产品。

这是我尝试过的代码,但它根本不起作用。以下是WooCommerce动态定价文档建议的代码(破坏了我的网站(

add_filter( 'woocommerce_dynamic_pricing_process_product_discounts', 'is_product_eligible', 10, 4 );
function is_product_eligible( $eligible, $product, $discounter_name, $discounter_object ) {
remove_filter( 'woocommerce_dynamic_pricing_process_product_discounts', 'is_product_eligible', 10, 4 );
if ( $product->is_on_sale() ) {
$eligible = false;
}
add_filter( 'woocommerce_dynamic_pricing_process_product_discounts', 'is_product_eligible', 10, 4 );
return $eligible;
}

这是我尝试过的代码,它不会破坏我的网站,但不起作用:

function is_product_eligible( $eligible, $product, $discounter_name, $discounter_object ) {
if ( $product->is_on_sale() ) {
$eligible = false;
}
add_filter( 'woocommerce_dynamic_pricing_process_product_discounts', 'is_product_eligible', 10, 4 );
return $eligible;
}

经过一点研究,这里是解决方案。代码本身破坏了我的网站,但这是因为我的数据库已损坏。有了一个新的数据库,代码没有破坏我的网站,但没有按预期工作。因此,经过一点修改,排除销售项目及其变体的代码:

add_filter( 'woocommerce_dynamic_pricing_process_product_discounts', 'is_product_eligible', 10, 4 );
function is_product_eligible( $eligible, $product, $discounter_name, $discounter_object ) {
remove_filter( 'woocommerce_dynamic_pricing_process_product_discounts', 'is_product_eligible', 10, 4 );
if ( $product->get_sale_price() ) {
$eligible = false;
}
add_filter( 'woocommerce_dynamic_pricing_process_product_discounts', 'is_product_eligible', 10, 4 );
return 
$eligible;
}

相关内容

最新更新