Skip to main content

Delete Old Guest Orders from Magento

Delete Old Guest Orders from Magento

Do you need to Delete Old Guest Orders from Magento ? Keeping outdated guest orders can slow down your store. Removing them improves database performance and ensures smoother Magento operations. In this guide, we'll show you how to efficiently clean up old guest orders in Magento.

 

Magento Script: Delete Guest Orders Before 2022

  /** @var \Magento\Sales\Model\ResourceModel\Order\CollectionFactory $orderCollectionFactory */
        $orderCollectionFactory =  $this->objectManager->get(\Magento\Sales\Model\ResourceModel\Order\CollectionFactory::class);
// Build the collection
        $orderCollection = $orderCollectionFactory->create()
            ->addFieldToFilter('created_at', ['lt' => '2022-01-01'])
            ->addFieldToFilter('customer_id', ['null' => true]);
        $orderCollection->setPageSize(10000);
// Display results (for testing purposes)
        foreach ($orderCollection as $order) {
            $order->delete();
            echo "Order ID: " . $order->getId() . PHP_EOL;
            echo "Created At: " . $order->getCreatedAt() . PHP_EOL;
            echo "Customer ID: " . $order->getCustomerId() . PHP_EOL;
            echo "-------------- -----------------------".PHP_EOL;
        }
        echo $orderCollection->getSize();

Tags