Php Magento 2如何以编程方式添加多个项目以发货订单

Php Magento 2如何以编程方式添加多个项目以发货订单,php,magento2,Php,Magento2,我有三个项目在同一顺序,我需要单独装运每个项目。 但是,当我创建一个装运时,它会输入装运中的所有项目,以后我无法添加更多项目 // Initialize the order shipment object $convertOrder = $objectManager->create('Magento\Sales\Model\Convert\Order'); $shipment = $convertOrder->toShipment($order); // Loop through o

我有三个项目在同一顺序,我需要单独装运每个项目。 但是,当我创建一个装运时,它会输入装运中的所有项目,以后我无法添加更多项目

// Initialize the order shipment object
$convertOrder = $objectManager->create('Magento\Sales\Model\Convert\Order');
$shipment = $convertOrder->toShipment($order);
// Loop through order items
foreach ($order->getAllItems() AS $orderItem) {
    // Check if order item has qty to ship or is virtual
    if (! $orderItem->getQtyToShip() || $orderItem->getIsVirtual()) {
        continue;
    }
    $qtyShipped = $orderItem->getQtyToShip();
    // Create shipment item with qty
    $shipmentItem = $convertOrder->itemToShipmentItem($orderItem)->setQty($qtyShipped);
    // Add shipment item to shipment
    $shipment->addItem($shipmentItem);
}

// Register shipment
$shipment->register();
$shipment->getOrder()->setIsInProcess(true);

$data = array(
'carrier_code' => 'custom',
'title' => 'Track',
'number' => $track_code // Replace with your tracking number
);

    try {
        // Save created shipment and order
        $track = $objectManager->create('Magento\Sales\Model\Order\Shipment\TrackFactory')->create()->addData($data);
        $shipment->addTrack($track)->save();

        $shipment->save();
        $shipment->getOrder()->save();

    } catch (\Exception $e) {
       echo "Shipment Not Created". $e->getMessage(); exit;
    }