Как переопределить SKU продукта и название продукта после создания заказа в WooCommerce? - PullRequest
0 голосов
/ 24 июня 2019

В моем каталоге WooCommerce у меня есть два типа продуктов: один использует 5-значный SKU, другой использует SKU с префиксом "P -".

Мне нужно экспортировать 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 );

        }
    }
}
...