Добавить заказ клиента в YITH Woocommerce PDF Invoice - PullRequest
0 голосов
/ 20 октября 2018

В Woocommerce я использую плагин под названием YITH WooCommerce PDF Счет-фактура и список доставки , и я хотел бы добавить примечание клиента к счету PDF.

Я хотел бы добавить его послепервая строка в коде ниже:

        <span class="notes-title"><?php _e( "Notes", "yith-woocommerce-pdf-invoice" ); ?></span>    
        <div class="notes">
            <span><?php echo nl2br( $notes ); ?></span>
            <?php do_action( 'yith_ywpi_after_document_notes', $document );?>
        </div>
    </div>
    <?php

Но я не могу понять, как получить примечание клиента из переменной $document.

Я пытался использовать этот ответнить: " Отображение комментариев к заказу клиента (примечание клиента) в Woocommerce ", которое выглядит почти как та же проблема, но все еще не может понять это, поскольку $document->order->customer_message; не работает.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 20 октября 2018

Начиная с Woocommerce 3, вы больше не можете получить доступ к свойствам объекта WC_Order.Вам нужно использовать метод WC_Order [get_customer_note()] [1].

Так что из $document (глобальный объект YITH) вы будете использовать:

$document->order->get_customer_note();

Чтобы добавить заметки клиентов в счет YITH, вы можете выбрать один из двух способов:

1) Используя доступную yith_ywpi_after_document_notes ловушку действия :

add_action( 'yith_ywpi_invoice_template_products_list', 'add_customer_notes_after_document_notes', 5 );
function add_customer_notes_after_document_notes( $document ) {
    ?><span><?php echo $document->order->get_customer_note(); ?></span><?php
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы).Не проверено (поскольку у меня нет премиум-версии плагина) , но он должен работать нормально (в зависимости от настроек плагина) .

2) Переопределение шаблонов (вВаш предоставленный код):

    <span class="notes-title"><?php _e( "Notes", "yith-woocommerce-pdf-invoice" ); ?></span>    
    <div class="notes">
        <span><?php echo nl2br( $notes ); ?></span>
        <span><?php echo $document->order->get_customer_note(); ?></span>
        <?php do_action( 'yith_ywpi_after_document_notes', $document );?>
    </div>
</div>
<?php

Должно работать.


Для бесплатной версии плагина

  • Нет доступных хуков (как в предоставленном коде)…
  • Глобальный объект YITH PDF должен называться , и это не $document.

Таким образом, вы сможете использовать следующий код в шаблоне templates/invoice/invoice-footer.php:

 <?php global $ywpi_document; echo $ywpi_document->order->get_customer_note(); ?>
...