2016-07-24 92 views
3

我试图用钩子修改产品价格,并已成功地设法用做定期的产品:woocommerce挂钩变化价格

function filter_woocommerce_get_price() { 
    return 55; 
}; 
add_filter('woocommerce_get_price', 'filter_woocommerce_get_price', 10, 3); 

我注意到,这个钩子并不适用于变化的产品,所以我发现相当于:

function filter_woocommerce_get_variation_price() { 
    return 66; 
}; 
add_filter('woocommerce_get_variation_price_html', 'filter_woocommerce_get_variation_price', 10, 3); 

,但它只是将无法正常工作...... 我也试过这样:

add_filter('woocommerce_variation_sale_price_html', 'my_html', 10, 2); 
add_filter('woocommerce_variation_price_html', 'my_html', 10, 2); 
function my_html($price, $variation) { 
    return woocommerce_price(5); 
} 

以及我在网上找到的类似解决方案,但没有更改我的变体产品价格。

我在做什么错? 任何人都可以帮助我,在这里变得绝望吗?

+0

我会稍后再尝试找一些方便和经过测试的,因为我现在有点忙。可变产品价格和变化价格实际上比所有其他产品类型复杂得多... [** helgatheviking **](http://stackoverflow.com/users/383847/helgatheviking)用户是SO的专家,这类问题。 – LoicTheAztec

+0

感谢您关注此事。 我正在做的正常价格是切换他们与自定义字段值,如果某个用户角色登录。我需要的是同样的事情变异产品价格。 我知道变化可以有价格的范围,所以很难做到这一点,但在我的情况下,如果产品有不同的颜色,价格将保持不变,因此所有需要拉动相同的自定义字段值,而不是变动价格。 这是链接到开发站点:http://bajko.webdotagency.com/ 但它在塞尔维亚... 再次感谢 –

+0

感谢您的重要信息*(毫无疑问,Topalovic是塞尔维亚:) ...) * - 如果你不知道(并希望它),你可以删除一些旧的无用的评论点击小灰十字图标时,他们徘徊... – LoicTheAztec

回答

0

你的问题是,你没有定义所需的参数为你的函数,数添加年底add_filters意味着要传递3个参数,所以你必须做这样的:

function filter_woocommerce_get_variation_price($price, $product) { 
    return 66; 
}; 
add_filter('woocommerce_get_variation_price', 'filter_woocommerce_get_variation_price', 10, 2); 

所以这个函数可以被调用。

+0

嗨,谢谢你的回答,但你发布了woocommerce_get_price的钩子,这是我设法使用和没有参数的工作。这是我遇到的woocommerce_get_variation_price。 我试图给该钩子添加参数,但仍然没有运气。 –

+0

嗨,我更新了使用'woocommerce_get_variation_price'的答案,如果它有效,请选择作为答案,您必须更改add_filter调用 – Skatox