我正在使用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;
}发布于 2018-08-10 18:38:28
经过一番研究,这里是解决之道。它自己的代码破坏了我的网站,但这是因为我的数据库被破坏了。有了一个新的数据库,代码没有破坏我的站点,但没有按预期工作。因此,稍微修改一下排除销售项目的代码及其变化:
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;
}https://stackoverflow.com/questions/51538518
复制相似问题