1 回答
TA贡献1827条经验 获得超9个赞
你不需要你的功能check_user_role()
,因为你可以用同样的方式使用 WordPress current_user_can()
。
自 WooCommerce 3 以来,该挂钩也woocommerce_get_price
已弃用。
要获得自定义批发商价格,您只需使用元键,wholesaler_price
例如:
1) 使用对象get_meta()
上的方法(自 WooCommerce 3 起):WC_Product
$price = (float) $product->get_meta( 'wholesaler_price' );
get_post_meta()
2) 或者在功能中使用产品 ID (WordPress 旧方法):
$price = (float) get_post_meta( $product->get_id() 'wholesaler_price', true );
现在在你相关的钩子代码函数中:
/* Custom prices by user role */
add_filter('woocommerce_product_get_price', 'custom_price_assign', 10, 2);
add_filter('woocommerce_product_variation_get_price', 'custom_price_assign', 10, 2); // For product variations (optional)
function custom_price_assign( $price, $product ) {
// Check if the user has a role of wholesaler
if ( current_user_can('wholesaler') && $wholesaler_price = $product->get_meta('wholesaler_price') ){
return $wholesaler_price;
}
return $price;
}
代码进入您的活动子主题(或活动主题)的 functions.php 文件。测试和工作。
- 1 回答
- 0 关注
- 113 浏览
添加回答
举报