Артикул товара в уведомлении о новом заказе 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());
        }
    }
}

К сожалению, этот код не работает как нужно. Вместо того, чтобы выводить артикул товара с новой строки и добавлять ярлык "Артикул", он показывается в круглых скобках после названия товара.

Можно ли как-то упростить этот код? Буду рад вашей помощи.


Ответы (0 шт):