Создание шорткодов Woocommerce с деталями заказа - PullRequest
2 голосов
/ 03 февраля 2020



Я пытаюсь создать несколько шорткодов, связанных с данными заказа woocommerce.

У меня есть пользовательская страница, на которую перенаправляется клиент по завершенному заказу. Проверка гостей отключена, поэтому все покупатели будут иметь учетную запись. На странице я хочу вставить некоторые данные - через шорткод - из заказа. Вот пример:

«Привет [custom-woocommerce-name], спасибо за покупку. Мы получили ваш платеж [custom-woocommerce-total] через [custom-woocommerce-payment]. Письмо было отправлено на [custom-woocommerce-email], бла-бла-бла. Ваш заказ # [custom-woocommerce-orderid] был упакован бла-бла-бла. "

Итак, я ищу для доступа к следующим данным:

$order->get_billing_first_name();
$order->get_total();
$order->get_payment_method();
$order->get_billing_email();
$order->get_id();


У меня есть рабочий php фрагмент, который создает короткий код для имени пользователя WordPress:

add_shortcode( ‘custom-wordpress-name' , ‘custom_user_name' );
function custom_user_name(){
    $user = wp_get_current_user();
    return $user->user_firstname;
}

, который я пытался настроить, но мое понимание php очень ограничено и это создает ошибку.

add_shortcode( ‘custom-woocommerce-name' , ‘custom_first_name' );
function custom_first_name(){
   $order = wc_get_order( $order_id );
   return $order->get_billing_first_name();
}

Куда я иду?

Спасибо,

1 Ответ

1 голос
/ 03 февраля 2020

Вы можете попробовать так:

add_shortcode( 'custom-woocommerce-name' , 'custom_first_name' );
function custom_first_name(){
    $customer_id = get_current_user_id();
    $order = wc_get_customer_last_order( $customer_id );
    return $order->get_billing_first_name();
}
...