Required parameter 'theme_dir' was not passed
Just in case if you are removing theme directly(Not in Magento way).
Then follow these steps.
STEP 1 : File Operations
Delete the content from app/design/frontend/<Vendor>
(make sure you back it up first).
Delete all the content of folder var/view_preprocessed
& pub/static/frontend
.
rm -rf var/view_preprocessed/* pub/static/frontend/*
STEP 2 : DB Operations
Go to your theme
table and delete the entry for your created theme.
After that...
Go to your core_config_data
table and search the column path for design/theme/theme_id
SELECT * FROM core_config_data WHERE path = "design/theme/theme_id"
and replace your default theme id in it.
STEP 3 : Flush cache
Flush your cache php bin/magento cache:flush
It is very important that you follow all the steps first before trying to change the design in the backend! Otherwise it won't work.
Let me know if you still face any problems after that.
This error message means that you have a theme configured which doesn't exist on the file-system (any more).
It can be easily fixed by selecting a valid theme instead. Go to Content -> Configuration, select the scope (global, website, store_view) and change the theme. After you've done that you should also remove it from Content -> Themes.
References
- Magento2 RC - Frontend theme not showing
In my case I deleted a child theme from Vendor directory. But the DB entry was still there in theme
table.
So go to the theme
table and delete the record that points to deleted theme.