试图让Woocommerce订阅重复出现在微型网站上。似乎有一些不同的功能可能有助于实现这一点,但它们似乎都没有开箱即用。有什么建议吗?
在几页刷新后,最终会回显以下功能,显示经常性总额(含增值税):
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
中查看源代码答案 0 :(得分:3)
感谢您@LoicTheAztec为answer帮助我解决此问题!管理以使用以下代码显示经常性总计,因为我只有每月订阅。如果某人有例如每周和每月经常性价格,则此方法不起作用。
$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;
答案 1 :(得分:2)
与购物车和结帐相关的唯一可用功能位于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
}
一旦您详细查看了这些原始数据,您就会明白,为了在迷你购物车中显示总数,您可能只需要使用
WC()->cart
对象和WC_Cart专用方法一样:
WC()->cart->get_cart_total( );
显示