get_home_path()
only works when WP admin scripts are loaded.
ABSPATH
is defined in wp-config.php so works anytime after the config file is loaded, so it should be totally fine for your use.
It is set to the dirname(__FILE__) + trailing slash
of wp-load.php (same location as e.g. wp-config.php). dirname
here returns the absolute path where WordPress is installed. For example, /home/user/public_html
and ABSPATH
adds a trailing slash
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . "https://wordpress.stackexchange.com/");
// So,
ABSPATH == '/home/user/public_html/'; // WP files are in public_html
So if you have a folder structure such as this:
- public_html/
- - wp-admin/
- - wp-content/
- - wp-includes/
- - wp-config.php
- - wp-load.php
- - vendor/
- - - autoload.php
- ...
You can put the following in your theme’s functions.php file to load the autoload.php file
require_once( ABSPATH . 'vendor/autoload.php' );