在 Woocommerce 管理订单页面中用 SKU 替换产品名称

Replace product name by SKU in Woocommerce admin orders pages

同样,这将是我关于这个主题的最后一个问题(如果我问了太多问题,我深表歉意),我想在 Woocommerce --> 订单 --> 订单中用 SKU 替换产品名称WordPress 后台管理中的详细信息。

我在论坛上没有找到关于如何执行此操作的任何可以理解的解释(我真的没有 php 代码的技能)。我刚刚发现可能应该使用的过滤器钩子是 'woocommerce_order_items' 和 'woocommerce_order_itemmeta' 但坦率地说我不明白如何使用它们。

是否可以知道仅在 Woocommerce --> 订单 --> WordPress 后台管理中的订单详情中用 SKU 替换产品名称的正确代码?如果有可能也有一些参考来理解这些钩子,我将非常感激。谢谢

您需要使用由 WC_Order_Item get_name() 方法制作的复合过滤器挂钩,例如:

add_filter( 'woocommerce_order_item_get_name', 'filter_order_item_get_name', 10, 2 );
function filter_order_item_get_name( $item_name, $order_item ) {
    if ( is_admin() && $order_item->is_type('line_item') ) {
        $product = $order_item->get_product();

        if( $sku = $product->get_sku() ) {
            $item_name = $sku;
        }
    }
    return $item_name;
}

代码进入您的活动子主题(或活动主题)的 function.php 文件。测试和工作。