PHP WordPress Find Root Directory Regardless Of Script Location
Sometimes you might be developing a theme, or a plugin, or an external script that connects to your WordPress installation, and you need to know where your root path, also known as
ABSPATH
, is. And you certainly don’t want to be hardcoding
that directory path (
eww.. thats disgusting) .
The solution to this problem is to use recursion to traverse the directories upwards. Very simple, elegant and clean. We all know WordPress comes with core files such as
wp-load.php
. So if our current directory doesn’t have these core files, it means we are not at the right directory yet, and have to go upwards again – to the parent folder
Here’s the code
/*
* Your root directory is where your wp-files.php are, e.g wp-load.php
* So basically, from whereever your script is running, just traverse upwards and you will eventually
* find your root directory (aka ABSPATH)
*/
function find_root_dir($current_dir)
{
if( file_exists($current_dir . "wp-load.php") ) {
return $current_dir;
} else {
return find_root_dir($current_dir . "../");
}
}
Be First to Comment