在收到的订单页面中用Sku替换产品名称

时间:2019-04-29 04:40:18

标签: php woocommerce

使用Woocommerce,我想在感谢页面和订单页面(如已收到订单(谢谢)和订单付款页面)中添加SKU而不是产品名称。

我像this previous thread一样使用woocommerce_cart_item_name过滤器挂钩,但是它仅适用于我的帐户>查看订单页面。 我也尝试过使用woocommerce_add_order_item_meta过滤器挂钩,但这是行不通的。

我能否知道要添加到function.php的正确的完整代码,以便能够在收到的订单(谢谢)和订单付款页面中用SKU替换产品名称。

1 个答案:

答案 0 :(得分:1)

要在收到的订单,订单付款(和我的帐户“订单”视图)页面上用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() ) {
        $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文件中。经过测试和工作。

相关:Woocommerce conditional tags reference