php - 在 WooCommerce 购物车页面上获取显示(浮动)的产品原始价格
问题描述
我正在使用带有 Dokan 插件的 WooCommerce。我需要将字符串转换为数字,以便可以将其用于计算(这比我做的要容易)。
我需要使用行小计而不是产品价格,因为产品价格正在拉回最低的可变产品价格,而不是他们选择的选项。
我试过ltrim()
and substring()
,数字是正确的,但它返回的格式是它,我不知道如何去掉货币符号 ($) 并将其设为浮点数。
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
$product = $cart_item['data'];
$product_id = $cart_item['product_id'];
/*?>Product ID: <?php echo $product_id,"<br>"; */
$quantity=1;
$quantity = $cart_item['quantity'];
?>Quantity: <?php echo $quantity,"<br>";
/* $price = WC()->cart->get_product_price( $product );
?>Total Price 1: <?php echo $price,"<br>"; */
//$price = get_post_meta($cart_item['product_id'] , '_price', true);
$price = WC()->cart->get_product_price( $product );
?>Price: <?php echo $price,"<br>";
$res = ltrim($price,12);
?>Price: <?php echo $res,"<br>";
$item_total = $price * $quantity;
?>Item Total: <?php echo $item_total,"<br>";
$vendor_id = get_post($product_id);
/*?>Vendor ID: <?php echo $vendor_id->post_author,"<br>"; */
$admin_commission = get_user_meta( $vendor_id->post_author, 'dokan_admin_percentage', true );
?>Admin Commission: <?php echo $admin_commission, "<br>";
$commission_amount = number_format(($price) * ( (get_user_meta( $vendor_id->post_author, 'dokan_admin_percentage', true ))/100),2);
$commission_total = ($commission_amount/2);
?>Commission_Total: <?php echo $commission_total,"<br><br>";
$amt_raised_for_cause= $amt_raised_for_cause + $commission_total ;
// Anything related to $product, check $product tutorial
//$meta = wc_get_formatted_cart_item_data( $cart_item );
}
解决方案
希望这会有所帮助, $price 仅获得数字值。
$amount = floatval( preg_replace( '#[^\d.]#', '', $price ) );
推荐阅读
- docker - Ubuntu systemd [1]:docker.service:作业 docker.service/start 失败,结果为“依赖”
- c# - 我尝试登录时出现 Cors 错误(WebApi+Blazor)
- python - 如何使用颜色对气泡图进行分类
- javascript - 嗨,我在使用 mongoose 删除保存在两个模式中的数据时遇到问题
- angular - 如何用新组件覆盖现有项目组件
- javascript - 如何解决这个 React-Router URL 参数错误?
- python - 如何在仍在执行脚本的同时清除 python 解释器?
- python - 使用python将嵌套的JSON对象转换为csv
- php - 在 TinyMCE 中保护 PHP
- flutter - 如何在谷歌地图中将文本设置为标记