【问题标题】:Replace the product name by the SKU in Woocommerce emails notifications在 Woocommerce 电子邮件通知中将产品名称替换为 SKU
【发布时间】:2019-04-29 07:47:47
【问题描述】:

当收到确认电子邮件和/或发票电子邮件时,我希望客户在订单详情中看到 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 替换产品名称的正确代码是什么?

【问题讨论】:

    标签: php wordpress woocommerce orders email-notifications


    【解决方案1】:

    注意:过滤器挂钩woocommerce_order_item_name 也用于emails/email-order-items.php 模板文件(如电子邮件通知)

    由于您似乎想在任何地方用SKU替换产品名称,您只需要使用the same answer code to one of your previous questions,并添加一点。

    所以您的代码将类似于 (对于订单电子邮件通知)

    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 文件中。经过测试和工作。

    参考:Search woocommerce_order_item_name filter hook locations

    【讨论】:

    • 确实,我想在我正在构建的 woocommerce 网站上的任何地方替换 SKU 而不是产品标题。如果我发送了太多问题,再次抱歉。但是我希望这些问题,当然还有你的答案可以帮助其他人,因为在这个论坛和其他论坛上很难找到正确的答案。无论如何,我非常感谢您的时间和知识。您链接的参考很有趣;是否可以问您是否有其他关于 woocommerce 中的过滤器挂钩的参考资料,因为知道这一点似乎非常重要?再次感谢您
    • @AlexandreDeplancke 关于 Hooks 的官方 API 文档:docs.woocommerce.com/wc-apidocs/hook-docs.html
    猜你喜欢
    • 1970-01-01
    • 2019-08-27
    • 2018-09-09
    • 1970-01-01
    • 1970-01-01
    • 2021-01-04
    • 2020-10-03
    • 1970-01-01
    相关资源
    最近更新 更多