Пользовательский шорткод Woocommerce возвращает нулевое значение - PullRequest
1 голос
/ 08 апреля 2020

Я создал пользовательскую страницу Спасибо в WordPress, которая имеет этот абзац:

Большое спасибо за ваш заказ!

После оплаты [cart_total] через веб-сайт XYZ, заполните эту форму и сообщите нам о своем платеже.

И попробовал этот пользовательский короткий код:

// Total Price Shortcode 

function cart_wctotal(){

   global $woocommerce;
   $wctotal = $woocommerce->cart->get_cart_total();

   return "<span class='cart-total'> ".$wctotal."</span>";

}

add_shortcode( 'cart_total', 'cart_wctotal' );

Но когда я проверяю заказы, выходные данные возвращают нулевое значение для Общая стоимость :

Большое спасибо за ваш заказ!

После оплаты € 0,00 через веб-сайт XYZ Пожалуйста, заполните эту форму и сообщите нам о вашем платеже.

1 Ответ

2 голосов
/ 08 апреля 2020

См. Комментарий от @ xhynk , почему ваш код не работает.

Получите последний заказ (и сумму заказа) по идентификатору пользователя

function cart_wctotal(){
    // Get user id
    $user_id = get_current_user_id();

    // Get last order by user id
    $last_order = wc_get_customer_last_order( $user_id );

    // Order total
    $wctotal = $last_order->get_total();

    return "<span class='cart-total'> " . $wctotal . "</span>";
}
add_shortcode( 'cart_total', 'cart_wctotal' );
...