在WooCommerce中创建订单后,如何覆盖产品SKU和产品名称?

时间:2019-06-24 10:27:48

标签: woocommerce meta

在我的WooCommerce目录中,我有两种类型的产品:一种使用5位数字的SKU,一种使用带有前缀“ P-”的SKU。

我需要导出不带前缀的产品SKU,以便始终具有5位代码。

我使用了以下代码,但是它不起作用:

add_action( 'woocommerce_thankyou', 'override_sku_and_product_name');
function override_sku_and_product_name( $order_id ) {

    $order = wc_get_order( $order_id );
    foreach( $order->get_items() as $item_id => $item_data ) {

        $product = $item_data->get_product();
        // get Product SKU
        $sku = $product->get_sku();

        if ( strlen( $sku ) > 5 ) {

            // edit Product SKU
            $product_sku = str_replace( 'P-', '', $sku );
            // override Product SKU
            wc_update_order_item_meta( $item_id, '_sku', $product_sku );

            // get Product Name
            $name = $product->get_name();
            // edit Product Name
            $product_name = str_replace( 'PALLET - ', '', $nome );
            // override Product Name
            wc_update_order_item_meta( $item_id, '_name', $product_name );

        }
    }
}

0 个答案:

没有答案