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

时间:2019-04-30 04:32:23

标签: php wordpress woocommerce orders sku

同样,这将是我关于该主题的最后一个问题(如果问的太多,我深表歉意),我想仅在Woocommerce-> Orders-> Order Details中用SKU替换产品名称WordPress的后台管理员。

sku instead of product name

在论坛上,我没有找到关于如何执行此操作的任何可理解的解释(我真的没有php代码的技能)。我只是发现可能应该使用的过滤器挂钩是“ woocommerce_order_items”和“ woocommerce_order_itemmeta”,但坦白地说我不知道​​如何使用它们。

仅在Woocommerce->订单-> WordPress后台管理中的“订单详细信息”中,是否有可能知道用SKU替换产品名称的正确代码?如果还可以参考一些有关这些钩子的知识,我将不胜感激。谢谢

1 个答案:

答案 0 :(得分:1)

您需要使用通过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文件中。经过测试和工作。