Magento 2 Delete Products programmatically
Magento 2 Delete Products programmatically | PHP Script– You can delete products programmatially in using product id. Here in this tutorial we are going to explain how you can delete the products using your own program.
Magento 2 Delete Products programmatically | Delete All Products Script Example
Now let us go to understand how to deal with product deletion in Magento 2-
Delete Product By Id
To delete single product by id first load product object by id then you can delete it as below-
Magento 2 Delete Products programmatically Example:
$productID = 999; $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $product = $objectManager->create('Magento\Catalog\Model\Product'); $product->load($productID)->delete(); |
Delete All Products
Let us create simple script to delete products. If you want to delete all products then you need to load products collection and delete products one by one simply as below-
Delete All Products Example:
$objectManager->get('Magento\Framework\Registry')->register('isSecureArea', true); $productCollection = $objectManager->create('Magento\Catalog\Model\ResourceModel\Product\CollectionFactory'); $collection = $productCollection->create()->addAttributeToSelect('*')->load(); $app_state = $objectManager->get('\Magento\Framework\App\State'); $app_state->setAreaCode('frontend'); foreach ($collection as $product){ try { echo 'Deleted '.$product->getName()."<br>"; $product->delete(); } catch (Exception $e) { echo 'Unable to delete product '.$product->getName()."<br>"; echo $e->getMessage() . "<br>"; } } |
Advertisements
User Ans/Comments
HiWhere to put this code and apply the function?
vince
You can create frontend contrroller and put the above code in function and access that controller function from URL. Make sure to remove that controller once products are deleted because of security purpose.
Gill