在我的帐户查看订单页面中用 Sku 替换产品名称

Replace the product name by the Sku in My account view order pages

使用 Woocommerce,我想在我的帐户的订单视图页面中添加 SKU 而不是产品名称 /my-account/view-order/[orderid]/

我可以使用下面的代码添加带有 link 的 SKU。 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 ) {
    if( is_wc_endpoint_url( 'view-order' ) ) {
        $product   = $item->get_product(); 
        if( $sku = $product->get_sku() )
            $item_name .= '<a href="' . $product->get_permalink() . '" class="product-sku">' . __( "Product ", "woocommerce") . $sku . '</a>';
    }
    return $item_name;
}

但是,我想删除产品名称,但我不知道要编写什么代码来执行此操作。有什么帮助吗?

您只需要在您的代码中将 $item_name .= 替换为 $item_name =,例如:

add_filter( 'woocommerce_order_item_name', 'display_sku_in_order_item', 20, 3 );
function display_sku_in_order_item( $item_name, $item, $is_visible ) {
    if( is_wc_endpoint_url( 'view-order' ) ) {
        $product   = $item->get_product(); 
        if( $sku = $product->get_sku() )
            $item_name = '<a href="' . $product->get_permalink() . '" class="product-sku">' . __( "Product ", "woocommerce") . $sku . '</a>';
    }
    return $item_name;
}

代码进入您的活动子主题(或活动主题)的 function.php 文件。它应该有效。