在微型购物车中显示 Woocommerce 订阅的经常性总数
Display Woocommerce Subscription recurring total in minicart
正在尝试让 Woocommerce 订阅的经常性总计显示在微型购物车中。似乎有一些不同的功能可能有助于实现这一目标,但其中 none 似乎开箱即用。有什么建议吗?
响应以下功能,最终会在刷新几次页面后显示经常性总计(含增值税):
WC_Subscriptions_Cart::calculate_subscription_totals();
问题在于它还将正常的一次性付款小计(不含增值税)更改为经常性小计(不含增值税)。正常小计与 WC()->cart->get_cart_subtotal().
相呼应
这些是可能有助于解决此问题的其他循环总计相关函数:
WC_Subscriptions_Cart::get_recurring_cart_contents_total();
WC_Subscriptions_Cart::display_recurring_totals();
如果有任何帮助,可以在 https://github.com/wp-premium/woocommerce-subscriptions
查看源代码
与购物车和结帐相关的唯一可用功能在 WooCommerce Subscriptions developer documentation
中
现在我认为您要查找的是购物车中剩余的相关订阅数据。为此,输出购物车对象的原始数据非常容易(一旦您在订阅前添加到购物车)。然后你可以使用这段代码输出这个数据:
1) 输出整个购物车对象原始数据:
print_r(WC()->cart);
然后您可以使用所有 WC_cart methods,例如:
WC()->cart->get_cart_contents_count( );
2) 在 foreach 循环中输出购物车商品:
foreach ( WC()->cart->cart_contents as $item_key => $item ){
print_r($item); echo '<br><br>'; // displaying the item raw data
print_r($item['data']); echo '<br><br>'; // displaying the subscription object raw data
echo $item['line_total']; echo '<br>'; // displaying item total
echo $item['data']->subscription_price . '<br>'; // displaying subscription object total
}
Once you have looked to this raw data in details, you will understand that for displaying totals in mini cart, you might just need to use the WC()->cart
object with WC_Cart dedicated methods like:
WC()->cart->get_cart_total( );
显示
感谢 @LoicTheAztec for your 帮助我解决了这个问题!由于我只有每月订阅,因此设法使用以下代码显示经常性总计。如果某人有例如每周和每月的经常性价格,则此方法将不起作用。
$recurring_total = 0;
foreach ( WC()->cart->cart_contents as $item_key => $item ){
$item_quantity = $item['quantity'];
$item_monthly_price = $item['data']->subscription_price;
$item_recurring_total = $item_quantity * $item_monthly_price;
$recurring_total += $item_recurring_total;
}
echo $recurring_total;
正在尝试让 Woocommerce 订阅的经常性总计显示在微型购物车中。似乎有一些不同的功能可能有助于实现这一目标,但其中 none 似乎开箱即用。有什么建议吗?
响应以下功能,最终会在刷新几次页面后显示经常性总计(含增值税):
WC_Subscriptions_Cart::calculate_subscription_totals();
问题在于它还将正常的一次性付款小计(不含增值税)更改为经常性小计(不含增值税)。正常小计与 WC()->cart->get_cart_subtotal().
相呼应这些是可能有助于解决此问题的其他循环总计相关函数:
WC_Subscriptions_Cart::get_recurring_cart_contents_total();
WC_Subscriptions_Cart::display_recurring_totals();
如果有任何帮助,可以在 https://github.com/wp-premium/woocommerce-subscriptions
查看源代码与购物车和结帐相关的唯一可用功能在 WooCommerce Subscriptions developer documentation
中现在我认为您要查找的是购物车中剩余的相关订阅数据。为此,输出购物车对象的原始数据非常容易(一旦您在订阅前添加到购物车)。然后你可以使用这段代码输出这个数据:
1) 输出整个购物车对象原始数据:
print_r(WC()->cart);
然后您可以使用所有 WC_cart methods,例如:
WC()->cart->get_cart_contents_count( );
2) 在 foreach 循环中输出购物车商品:
foreach ( WC()->cart->cart_contents as $item_key => $item ){
print_r($item); echo '<br><br>'; // displaying the item raw data
print_r($item['data']); echo '<br><br>'; // displaying the subscription object raw data
echo $item['line_total']; echo '<br>'; // displaying item total
echo $item['data']->subscription_price . '<br>'; // displaying subscription object total
}
Once you have looked to this raw data in details, you will understand that for displaying totals in mini cart, you might just need to use the
WC()->cart
object with WC_Cart dedicated methods like:
WC()->cart->get_cart_total( );
显示
感谢 @LoicTheAztec for your
$recurring_total = 0;
foreach ( WC()->cart->cart_contents as $item_key => $item ){
$item_quantity = $item['quantity'];
$item_monthly_price = $item['data']->subscription_price;
$item_recurring_total = $item_quantity * $item_monthly_price;
$recurring_total += $item_recurring_total;
}
echo $recurring_total;