The beauty in WordPress is not only its ecosystem. It’s the ability to customise almost every facet of it using a filter or hook.
I had a scenario recently where I wanted to put a web application theme in a less painful directory to access. I wanted a folder called
themes in my root directory.
wp-content/themes/my-app-theme I wanted
The structure resembles something like this:
We can tell WordPress about a new place to look for themes. It’s not a filter or hook, it’s a function called register_theme_directory.
To configure the theme’s location, we must make the change outside of our theme. We will create a simple plugin that will go into
wp-content/mu-plugins which get automatically loaded without requiring activation. I called mine
modify-theme-path.php call yours whatever you want.
<?php register_theme_directory( ABSPATH . 'themes' ); ?>
Now, WordPress will look in my root directory for a themes folder but will also continue to look in
wp-content/themes as well.