我正在尝试使用此代码在woocommerce中选择selected_shipping_method价格:
DataRow dataRow = DataTable2.NewRow();
object o = DataTable1.Rows[index].ItemArray.GetValue(index);
dataRow.SetField(index, o);
DataTable2.Rows.InsertAt(dataRow, 0);
((DataRowView)(DataGrid2.Items[index])).Row.Delete();
代码有效,但它打印了ID,我无法弄清楚如何打印出价格。
这是包结构:
我的代码是$packages = WC()->shipping->get_packages();
foreach ($packages as $i => $package) {
$chosen_method = isset(WC()->session->chosen_shipping_methods[$i]) ? WC()->session->chosen_shipping_methods[$i] : '';
}
echo $chosen_method;
,但我需要的是所选元素的成本,而不是ID。
我试图改变这样的代码:
table_rate_shipping_shipping_self_install
但它打印出id,和以前一样。
有什么想法吗?抱歉,我对php有点新鲜。 提前致谢
答案 0 :(得分:5)
你是否在foreach循环中尝试了这个?
$rate = $package['rates'][$chosen_method]->cost;
答案 1 :(得分:1)
如果您需要获取用户选择并存储在会话中的运输方式的价格,则应尝试以下操作:
$chosen_shipping_method_price = WC()->session->get('cart_totals')['shipping_total'];