【发布时间】:2020-08-21 18:12:39
【问题描述】:
我正在经营一家 WooCommerce 商店(WordPress 5.4.1 和 WooCommerce 4.1.0),我正在尝试根据客户位置设置价格,所以为此我通常是一个小型的 sn-p,我一直在更新我的 sn-ps 不推荐使用的功能,我已经更新了一些有任何问题的功能,但是对于这个,我不明白为什么不推荐使用的方法有效,但新的方法无效。
这是不推荐使用版本的代码,而不是 woocoomemerce_product_get_price 旧方法使用 woocommerce_get_price,它有效,巴塞罗那客户的价格增加了正确的乘数,但此代码会影响 WordPress,例如,如果我尝试更新一个插件我有一个错误,或者如果我尝试搜索一个新插件,任何结果都会显示,直到我按下 f5。
add_filter( 'woocommerce_get_price', 'change_specific_products_price', 10, 2 );
function change_specific_products_price( $price, $product ) {
$userInfo = geoip_detect2_get_info_from_current_ip();
if ( has_term('skf', 'product_cat', $product->get_id() ) && $userInfo->city->name == 'Barcelona' ) {
$price *= 1.20;
}
return $price;
}
所以我决定更新弃用的函数,我查看了 WooCommerce 文档,但我不明白为什么弃用的方法有效,而新的方法却不行。
这是代码的更新版本
add_filter( 'woocommerce_product_get_price', 'change_specific_products_price_2', 10, 2 );
function change_specific_products_price_2( $price, $product ) {
$userInfo = geoip_detect2_get_info_from_current_ip();
if ( has_term('skf', 'product_cat', $product->get_id() ) && $userInfo->city->name == 'Barcelona' ) {
$price *= 1.20;
}
return $price;
}
我被困在这一点上,任何帮助都会很棒。
【问题讨论】:
-
change_specific_products_price_2不确定你是否可以在 fct 中使用数字。定义。试试two更好...
标签: php wordpress woocommerce hook-woocommerce price