Артикул товара в уведомлении о новом заказе WooCommerce только администратору
У меня есть код, который показывает артикул товара в уведомлении о новом заказе WooCommerce, только администратору.
// Отображаем артикул товара только в письмах администратору
add_filter('woocommerce_email_order_items_args', 'custom_admin_order_item_display');
function custom_admin_order_item_display($args) {
// Проверяем, что письмо предназначено администратору и письмо в HTML-формате
if ($args['sent_to_admin'] && !$args['plain_text']) {
// Регистрация хука для добавления артикула
add_action('woocommerce_order_item_meta_end', 'append_sku_after_name', 10, 3);
}
return $args;
}
function append_sku_after_name($item_id, $item, $order) {
global $woocommerce;
// Повторная проверка, чтобы гарантировать отсутствие артикула в письмах покупателям
if ($order->get_customer_id() === null || $order->get_customer_id() !== get_current_user_id()) {
$product = $item->get_product();
if ($product && !empty($product->get_sku())) {
echo '<br><strong>' . __('Артикул:', 'woocommerce') . '</strong> ' . esc_html($product->get_sku());
}
}
}
К сожалению, этот код не работает как нужно. Вместо того, чтобы выводить артикул товара с новой строки и добавлять ярлык "Артикул", он показывается в круглых скобках после названия товара.
Можно ли как-то упростить этот код? Буду рад вашей помощи.