我正在使用WooCommerce Dynamic定价,并试图使其在我的网站上针对所有产品运行,但不包括正在销售的产品。
这是我尝试过的代码,但是根本无法正常工作。这是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;
}
答案 0 :(得分:0)
经过一些研究,这里是解决方案。它本身的代码破坏了我的网站,但这是因为我的数据库已损坏。使用新的数据库,代码没有破坏我的网站,但是没有按预期工作。因此,只需稍作改动,即可排除销售商品及其变体的代码:
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;
}