Я хочу отобразить примечание к заказу прошлой, которое в настоящее время можно просмотреть только через администратора в Woocommerce, на стороне клиента в их истории заказов.
Чтобы они могли просмотреть номер отслеживания, который мы добавляем в после, заказ считается выполненным.
https://example.com/my-account/view-order/135/
Мы добавляем примечание для клиента, сначала установив заказ как ЗАВЕРШЕННЫЙ через Woocommerce API, а затем добавив примечание к заказу со ссылкой для отслеживания. Таким образом, номер отслеживания всегда будет последним элементом.
Как я могу отобразить примечание к последнему заказу в истории заказов клиента? Кажется, не существует плагинов для отображения примечаний к заказу на стороне клиента.
Идеальный результат:






Следующее будет отображать последнее примечание к заказу администратора на страницах заказов просмотра моей учетной записи:
add_filter( 'woocommerce_get_order_item_totals', 'account_view_order_last_order_note', 10, 3 );
function account_view_order_last_order_note( $total_rows, $order, $tax_display ){
// For "completed" orders on my account view order pages
if ( $order->has_status('completed') && is_wc_endpoint_url( 'view-order' ) ){
// Get last order note
$latest_notes = wc_get_order_notes( array(
'order_id' => $order->get_id(),
'limit' => 1,
'orderby' => 'date_created_gmt',
) );
$latest_note = current( $latest_notes );
if ( isset( $latest_note->content ) ) {
// Add a new row for tracking
$total_rows['order_tracking'] = array(
'label' => __('Tracking:','woocommerce'),
'value' => $latest_note->content
);
}
}
return $total_rows;
}
Код находится в файле function.php вашей активной дочерней темы (или активной темы). Проверено и работает.
@Loic Есть ли способ отобразить их все, но только сделанные администратором, а не системой?
@ВладимирКятипов Да можно…
Вот CSS, чтобы убедиться, что любой URL-адрес отслеживания имеет строчные буквы
.woocommerce-MyAccount-content > section.woocommerce-order-details > table > tfoot > tr:nth-child(4) > td > p > a { text-transform: lowercase; }