Ren*_*unt 3 wordpress woocommerce
我使用Woocommerce购物车.我想在列表页面中更改产品价格.我使用这个钩子来改变产品价格.
woocommerce_get_price
Run Code Online (Sandbox Code Playgroud)
这是我的功能.
add_action('woocommerce_get_price','change_price_regular_member', 10, 2);
function change_price_regular_member($price, $productd){
return $price*2/100;
}
Run Code Online (Sandbox Code Playgroud)
我想在列表页面中更改所有产品的价格.
但是这个功能不起作用是在每个产品价格中返回第一个产品价格.
我怎样才能用这个钩子来改变每个产品的价格?
谢谢.
当我测试您的代码时,我的列表中的所有价格都会发生变化 也许你的销售价格有问题.本WC_PRODUCT类有不同的功能(包括过滤器,以获得取决于它的销售状态的价格).的get_price_html用途get_regular_price或get_price_suffix功能等
尝试:
add_filter('woocommerce_get_price','change_price_regular_member', 10, 2);
add_filter('woocommerce_get_regular_price','change_price_regular_member', 10, 2);
add_filter('woocommerce_get_sale_price','change_price_regular_member', 10, 2);
Run Code Online (Sandbox Code Playgroud)
您还可以尝试http://club.orbisius.com/products/wordpress-plugins/woocommerce-extensions/orbisius-flex-price-woocommerce/这样的扩展程序.
更新
当我通过PayPal下订单时,您的代码无法正常运行
似乎paypal网关使用订单类而不是产品类来计算价格.在./includes/class-wc-order.php您将发现的功能,如get_item_subtotal()其中有一个过滤器apply_filters( 'woocommerce_order_amount_item_subtotal', $price, $this );.尝试使用这些,例如:
add_filter('woocommerce_order_amount_item_subtotal','change_price_regular_member', 10, 2);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10949 次 |
| 最近记录: |