Задать вопрос
@Jokerrs567

Как настроить шаблон письма под себя в woocommerce?

Решил настроить шаблон email письма под себя.
В email-order-details.php добавил таблицу

<table cellspacing="0" cellpadding="6" border="1" style="width: 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Roboto, Arial, sans-serif; margin-bottom: 30px; border: 1px solid rgb(150, 149, 149);"><tbody>
<tr>
<td style="width: 25%; padding: 12px;">ЗАКАЗ:</td>
    <td style="width: 25%; padding: 12px;">ДАТА:</td>
    <td style="width: 25%; padding: 12px;">ИТОГО:</td>
    <td style="width: 25%; padding: 12px;">СТАТУС:</td>
    <td style="width: 25%; padding: 12px;">НАИМЕНОВАНИЕ:</td>
  </tr>
<tr style="font-weight: bold;">
<td style="padding: 12px;">№<?php echo $order->get_order_number(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></td>
    <td style="padding: 12px;"><?php echo wc_format_datetime( $order->get_date_created() ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></td>
    <td style="color: rgb(0, 139, 139); padding: 12px;"><?php echo $order->get_formatted_order_total(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></td>
    <td style="color: rgb(255, 201, 14); position: relative; padding: 12px;"><?php echo wp_kses_post( $order->get_payment_method_title() ); ?></td>
    <td style="color: rgb(255, 201, 14); position: relative; padding: 12px;"><?php echo wp_kses_post( $_product->get_name() ); ?></td>
  </tr>
</tbody></table>


Вукоммерс ломается на странице оформления заказа по клику на кнопку подтверждения. Выяснил, что это происходит из-за вот этого кода:
<?php echo wp_kses_post( $_product->get_name() ); ?>

Вукоммерс блокирует дальнейшее действие на странице оформления заказа и не позволяет вынести наименование товара в другое место. Подозреваю, что с кодом может быть что-то не так, или тут нужно глубже копать?
  • Вопрос задан
  • 84 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
wppanda5
@wppanda5 Куратор тега WordPress
WordPress Mедведь
Потому что там нет объекта $_product
Добраться к списку товаров в заказе можно через
foreach( $order->get_items() as $item_id => $item ) :
//$item - это и будет ваш продукт
 wp_kses_post($item->get_name());
endforeach;


И очистка круто, но сильно сомневаюсь, что через wp_kses_post - имеет смысл обрабатывать название записи
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы