Чтобы передать данные поля товара из Advanced Custom Fields (ACF) в письмо об заказе, на страницу администратора и в один цикл, вам необходимо добавить соответствующие функции в вашем файле functions.php темы или плагина.
Вот пример кода, который вы можете использовать:
```
// Добавление подзаголовка товара в письмо об заказе и на страницу администратора
function add_subtitle_to_order_email_and_admin($item, $cart_item_key, $values, $order) {
$subtitle = get_field('subtitle', $item['product_id']);
if ($subtitle) {
echo '<br>Подзаголовок: ' . $subtitle;
}
}
add_action('woocommerce_order_item_meta_start', 'add_subtitle_to_order_email_and_admin', 10, 4);
// Добавление подзаголовка товара в корзину и на страницу оформления заказа
function add_subtitle_to_cart($product_name, $cart_item, $cart_item_key) {
$subtitle = get_field('subtitle', $cart_item['product_id']);
if ($subtitle) {
$product_name = $subtitle . ' - ' . $product_name;
}
return $product_name;
}
add_filter('woocommerce_cart_item_name', 'add_subtitle_to_cart', 10, 3);
// Добавление подзаголовка товара в электронное письмо уведомления покупателя
function add_subtitle_to_order_item_name($product_name, $item) {
$subtitle = get_field('subtitle', $item->get_product_id());
if ($subtitle) {
$product_name = $subtitle . ' - ' . $product_name;
}
return $product_name;
}
add_filter('woocommerce_order_item_name', 'add_subtitle_to_order_item_name', 10, 2);
```
Улучшить свой код для красивого отображения подзаголовка товара можно с помощью CSS или использования HTML-тегов для оформления текста. Например, вы можете обернуть подзаголовок в тег `<span>` с классом или ID для применения стилей через CSS.
Например:
```
function add_subtitle_to_order_email_and_admin($item, $cart_item_key, $values, $order) {
$subtitle = get_field('subtitle', $item['product_id']);
if ($subtitle) {
echo '<br><span class="product-subtitle">' . $subtitle . '</span>';
}
}
```
Затем вы можете добавить стили для элемента с классом `product-subtitle` в вашем файле стилей:
```
.product-subtitle {
font-style: italic;
color: #888;
}
```
Таким образом, вы сможете красиво оформить подзаголовок товара на странице заказа и в электронных письмах WooCommerce.