【发布时间】:2017-03-01 11:20:36
【问题描述】:
我有这个代码,它的功能是在 woocommerce 订单详细信息电子邮件模板中添加一列,但是当我发送发票时,我收到以下错误消息:
致命错误:未捕获的错误:在 http:\mysite.com\functions.php 第 1245 行调用一个成员函数 get() on null
使用此代码时:
add_action( 'woocommerce_order_item_meta_end', 'order_custom_field_in_item_meta_end', 10, 4 );
function order_custom_field_in_item_meta_end( $item_id, $item, $order, $cart_item) {
global $woocommerce;
do_action( 'woocommerce_review_order_before_cart_contents' );
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
$_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_checkout_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
echo '<td class="td">'.$_product->get_price_html().'</td>';
}
}
do_action( 'woocommerce_review_order_after_cart_contents' );
}
我的问题是,当我从订单中发送发票或任何其他电子邮件通知时,会出现错误。
我做错了什么以及如何解决这个问题?
谢谢
【问题讨论】:
-
请告诉我你在function.php中的第1245行
-
@DhruvinMoradiya 这是一行:foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
-
你能告诉我你的要求是什么吗?
-
实际上该错误仅在我通过订单发送电子邮件发票并将其指向该行时发生,我使用了 $product->get_cart() 并且它也不起作用
-
我只需要在电子邮件模板上显示每个产品的价格,见上图
标签: php wordpress woocommerce orders email-notifications