Código de exemplo para deletar um pedido pelo número no Magento 1.x, remova pedidos individualmente pelo número ou ID.
Faça backup do banco de dados antes de executar o código a seguir em ambientes que estão em produção.
Excluindo pedido no Magento
Crie o arquivo “deletar.php” no diretório principal aonde o Magento está instalado com seguinte conteúdo:
require 'app/Mage.php'; Mage::app('admin')->setUseSessionInUrl(false); $test_order_ids=array( '100000001', '100000002', '100000003', '100000111', '100000112', '100000199', ); foreach($test_order_ids as $id){ try{ Mage::getModel('sales/order')->loadByIncrementId($id)->delete(); echo "order #".$id." is removed".PHP_EOL; }catch(Exception $e){ echo "order #".$id." could not be remvoved: ".$e->getMessage().PHP_EOL; } } echo "complete.";
Altere os valores no array “$test_order_ids” de acordo com os pedidos que você deseja deletar.
Deletando Faturas, Entregas e pelo ID
Deletando as Faturas, Entregas e Reembolsos junto com o Pedido.
No exemplo abaixo é utilizado o ID do pedido, NÃO o número incremental.
Altere a função Mage::getModel(‘sales/order')->load para Mage::getModel(‘sales/order')->loadByIncrementId se você desejar utilizar o número do pedido invés do ID.
$mageFilename = 'app/Mage.php'; require_once $mageFilename; Varien_Profiler::enable(); Mage::setIsDeveloperMode(true); ini_set('display_errors', 1); umask(0); Mage::app('default'); Mage::register('isSecureArea', 1); $orderId = 156; $order = Mage::getModel('sales/order')->load($orderId); $invoices = $order->getInvoiceCollection(); foreach ($invoices as $invoice){ $invoice->delete(); } $creditnotes = $order->getCreditmemosCollection(); foreach ($creditnotes as $creditnote){ $creditnote->delete(); } $shipments = $order->getShipmentsCollection(); foreach ($shipments as $shipment){ $shipment->delete(); } $order->delete();