我有一个名为super_sale_price的新自定义字段,并且我试图为每个产品使用该值,因此,如果存在该自定义字段值,那么我们将在该产品的所有位置显示此值,
我用它来显示价格,
function return_custom_price($price, $product) {
global $post, $blog_id;
$price = get_post_meta($post->ID, 'super_sale_price', true);
return $price;
}
add_filter('woocommerce_get_price', 'return_custom_price', 10, 2);
这会更改单个产品页面中的值,但是一旦我将此产品添加到购物车后,价格就会显示为0。请有人告诉我为什么会这样?这是一个错误的钩子吗?
答案 0 :(得分:0)
不赞成使用您使用的钩子,而是尝试以下方法:
add_filter('woocommerce_product_get_price', 'display_super_sale_price', 10, 2);
function display_super_sale_price( $price, $product ) {
if( $product->get_meta('super_sale_price') );
$price = $product->get_meta('super_sale_price');
return $price;
}
代码进入您的活动子主题(或活动主题)的function.php文件中。应该可以。
对于可变产品和产品变型,请参见以下答案线程: