Hello Magento Friends,
Welcome to Magento “How To” Blog series. Today let’s learn about How to Remove/Delete Product programmatically in Magento 2. Previously I have shared How to Hide Price for Not Logged In Customers in Magento 2.
Introduction:
Your Magento store is up and running but there is always a need to make some changes with products. Due to any reason you don’t need some products in your store and need to be removed from your products list. So here I am sharing How to Remove/Delete Product programmatically in Magento 2.
Steps to Remove/Delete Product programmatically in Magento 2:
Step 1: Create one file product_remove.php in the Magento root directory then add the below code.
<?php use Magento\Framework\AppInterface; try { require_once __DIR__ . '/app/bootstrap.php'; } catch (\Exception $e) { echo 'Autoload error: ' . $e->getMessage(); exit(1); } try { $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER); $objectManager = $bootstrap->getObjectManager(); $appState = $objectManager->get('\Magento\Framework\App\State'); $appState->setAreaCode('frontend'); $productRepository = $objectManager->get('\Magento\Catalog\Model\ProductRepository'); $registry = $objectManager->get('\Magento\Framework\Registry'); $registry->register('isSecureArea', true); //There are two ways to remove products using SKU or product id. // using sku to remove product $sky="your sku here"; $productRepository->deleteById($sky); //using product id to remove product $product_id = 1; //here your product id $product = $productRepository->getById($product_id); $productRepository->delete($product); echo $sky." Your Product Remove Successfully."; } catch(\Exception $e) { print_r($e->getMessage()); }
Step 2: After adding the above code run like
https://yourdomain/product_remove.php/
That’s it.
Conclusion:
Accordingly, you can Remove/Delete Product programmatically in Magento 2 and keep your products catalog up-to-date. If you face difficulty while implementing the above steps, mention it in the comment section below. Help your fellow Magento friends by sharing the article with them.
Happy Coding!
Hi your code to remove products works but if you wanted to delete all products without listing product id’s what would the code then be?
Magento Admin provide the Mass delete options into product grid, that you can also use.