【问题标题】:woocommerce hook for variation price用于变化价格的 woocommerce 挂钩
【发布时间】:2016-11-27 22:01:46
【问题描述】:

我正在尝试使用钩子修改产品价格,并已成功地使用以下方法为常规产品做到这一点:

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);
}

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

我做错了什么? 任何人都可以帮我解决这个问题,在这里变得非常绝望吗?

【问题讨论】:

  • 我稍后会尝试找到一些方便且经过测试的东西,因为我现在有点忙。可变产品价格和变化价格确实比所有其他产品类型复杂得多……helgatheviking 用户是 SO 方面的专家,涉及此类问题。
  • 感谢您对此进行调查。如果登录了某个用户角色,我对常规价格所做的就是用自定义字段值切换它们。我需要的同样是变化产品价格。我知道变化可以有价格范围,所以很难做到这一点,但在我的情况下,如果产品有不同的颜色,价格将保持不变,所以所有需要的是提取相同的自定义字段值而不是变化价格.这是开发网站的链接:bajko.webdotagency.com 但它是塞尔维亚语...再次感谢
  • 感谢您提供的重要细节(毫无疑问 Topalovic 是塞尔维亚人 :) ...) — 如果您不知道(并且想要),您可以删除一些旧的 un - 有用的 cmets 在悬停它们时单击灰色的小十字图标...
  • 会做,如果它变得拥挤......希望这不是微妙的建议,因为我写了一些不恰当的东西:) 非常感谢你有机会花时间看看它。跨度>

标签: wordpress woocommerce hook price variation


【解决方案1】:

您的问题是您没有为函数定义所需的参数,数字 3 添加到 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 );

这样就可以调用函数了。

【讨论】:

  • 嗨,谢谢你的回答,但你发布了 woocommerce_get_price 的钩子,我设法在有和没有参数的情况下开始工作。这是我遇到麻烦的 woocommerce_get_variation_price。我也尝试向该钩子添加参数,但仍然没有运气。
  • 嗨,我更新了答案以使用woocommerce_get_variation_price 如果它有效,选择作为答案,你必须更改 add_filter 调用
猜你喜欢
  • 1970-01-01
  • 2016-04-27
  • 2018-04-26
  • 2021-07-10
  • 2018-05-26
  • 2018-01-30
  • 2016-08-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多