Замените название продукта на SKU в уведомлениях Woocommerce по электронной почте - PullRequest
1 голос
/ 29 апреля 2019

При получении электронных писем с подтверждением и / или счета-фактуры, я бы хотел, чтобы клиент видел SKU вместо названия продукта в деталях заказа.

Я попробовал код ниже, но он показывает SKU в скобках под названием продукта.

function sww_add_sku_woocommerce_emails( $output, $order ) {

    static $run = 0;

    if ( $run ) {
        return $output;
    }

    $args = array(
                'show_sku'      => true,
    );

    $run++;

    return $order->email_order_items_table( $args );
}

add_filter( 'woocommerce_email_order_items_table', 'sww_add_sku_woocommerce_emails', 10, 2 );

Однако я хотел бы, чтобы SKU полностью заменял название продукта и не появлялся в скобках, и, если возможно, изменил текст по SKU продукта [код SKU].

Какой правильный код для замены названия продукта на SKU в уведомлениях по электронной почте?

1 Ответ

1 голос
/ 30 апреля 2019

Примечание: Хук фильтра woocommerce_order_item_name также используется в emails/email-order-items.php файле шаблона (так же в уведомлениях по электронной почте) .

Поскольку кажется, что вы хотите заменить название продукта на SKU везде, вам просто нужно использовать один и тот же код ответа на один из ваших предыдущих вопросов , с небольшим добавлением.

Таким образом, ваш код будет выглядеть как (для заказов и уведомления по электронной почте) :

add_filter( 'woocommerce_order_item_name', 'display_sku_in_order_item', 20, 3 );
function display_sku_in_order_item( $item_name, $item, $is_visible ) {
    $product   = $item->get_product(); 

    if( $sku = $product->get_sku() ) {
        // On front end orders
        if( is_wc_endpoint_url() ) {
            $item_name = '<a href="'. $product->get_permalink() .'" class="product-sku">'. __( "Product ", "woocommerce") . $sku .'</a>';
        }
        // On email notifications
        else {
            $item_name = $sku;
        }
    }
    return $item_name;
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.

Ссылка: Поиск woocommerce_order_item_name места расположения фильтра

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...