WordPress root
Homepage URL
$HomeUrl = home_url();
// "https://www.example.com" or "https://www.example.com/mywordpressfolder"
$HomeUrl = home_url('/');
// "https://www.example.com/" or "https://www.example.com/mywordpressfolder/"
$HomeUrl = home_url('/mypage');
// "https://www.example.com/mypage" or "https://www.example.com/mywordpressfolder/mypage"
Reirect to a page
wp_redirect( home_url( '/' ) );
//wp_redirect( home_url( '/my_page_name' ) ); //If you want to redirect to a specific page
die();
Site WP install URL
The URL of the WordPress install. Usually identical to using site_url(), but not necessarily! User home_url() generally.
$SiteUrl = site_url();
// "https://www.example.com" or "https://www.example.com/mywordpressfolder"
$SiteUrl = site_url('/');
// "https://www.example.com/" or "https://www.example.com/mywordpressfolder/"
$SiteUrl = site_url('/mypage');
// "https://www.example.com/mypage" or "https://www.example.com/mywordpressfolder/mypage"
URL to WP admin area
For ap-admin you should use site_url(), thats the correct usage!
$AdminAreaUrl = site_url('/wp-admin');
WordPress root – Server filesystem
$SiteRootFilePath = ABSPATH;
// /var/www/vhosts/example.com/public_html/
//or for a wordpress site installed in a sub directory:
// /var/www/vhosts/example.com/public_html/mysubdirectory/
get_home_path() <<This is a backend function, it only works if the necessary wordpress include files are present. ABSPATH is usually better (its a define that just works)
// /var/www/vhosts/example.com/httpdocs/
WordPress Theme
get_stylesheet_directory_uri() is better because get_template_directory_uri() will get the main theme, not the child theme if being used
Return full URI path (including https://)
$MyImagePath = get_stylesheet_directory_uri() . "/mysubfolder/myimage.jpg";
Return path on local server
(e,g, /home/user/public_html/wp-content/themes/my_theme)
if (!is_file(get_stylesheet_directory() . "/mysubfolder/myimage.jpg"))
{
}
Themes directory
theme_url()
// https://www.example.com/wp-content/themes
Other theme path functions
get_template_directory_uri()
get_stylesheet_uri()
get_theme_root_uri()
get_theme_root()
get_theme_roots()
get_template_directory()
WordPress Plugin
Plugin’s root directory
plugins_url()
// https://example.com/wp-content/plugins
This plugin
URL
plugin_dir_url( __DIR__ )
// https://example.com/wp-content/plugins/my-plugin-name/
//THIS DOESNT'T ALWAYS SEEM TO WORK, SOMETIMES NEED TO USE FILE INSTEAD - CHECK BEFORE YOU COMMIT
plugin_dir_url( __FILE__ )
// https://example.com/wp-content/plugins/my-plugin-name/folder-this-file-is-in/
Filesystem path
plugin_dir_path( __DIR__ )
// /var/www/vhosts/example.com/httpdocs/wp-content/plugins/my-plugin_name/
plugin_dir_path( __FILE__ )
// /var/www/vhosts/example.com/httpdocs/wp-content/plugins/my-plugin_name/folder-this-file-is-in/
Path relative to wordpress plugins root directory
plugin_basename( __DIR__ )
// my-plugin_name/folder-this-file-is-in
plugin_basename( __FILE__ )
// my-plugin_name/folder-this-file-is-in/this-files-name.php
The current file
Filesystem path
plugin_dir_path( __DIR__ )
// /var/www/vhosts/example.com/httpdocs/wp-content/plugins/my-plugin_name/
echo plugin_dir_path( __FILE__ );
//Example output
// /var/www/vhosts/my-domain-name.com/httpdocs/wp-content/plugins/my-plugin_name/the-directory-this-file-is-in/
(The “plugin” part of the name is misleading – it can be used for any file, plugin file or not)
Filesystem path – web server referenced
echo ( __DIR__ );
//Example output
// /home/websiteusername/public_html/wp-content/plugins/my-plugin_name/the-directory-this-file-is-in
echo ( __FILE__ );
//Example output
// /home/websiteusername/public_html/wp-content/plugins/my-plugin_name/the-directory-this-file-is-in/this-file-name.php
Upload directory
If use date based folder is enabled for your wordpress site then a folder will be created for the current year/month if it doesn’t exist already
$UploadDirectory = wp_upload_dir();
// Returns an array:
// $UploadDirectory['path'] /var/www/vhosts/example.com/httpdocs/wp-content/uploads
// $UploadDirectory['url'] https://example.com/wp-content/uploads
// $UploadDirectory['subdir']
// $UploadDirectory['basedir'] /var/www/vhosts/example.com/httpdocs/wp-content/uploads
// $UploadDirectory['baseurl'] https://example.com/wp-content/uploads
// $UploadDirectory['error']
Creating your own folder in the upload directory
$UploadDirectory = wp_upload_dir();
$OurUploadDirectory = $UploadDirectory['basedir'] . '/my-folder-name';
if (!file_exists($OurUploadDirectory))
wp_mkdir_p($OurUploadDirectory);
Other WordPress Directories
Admin directory
admin_url()
// https://www.example.com/wp-admin
Includes directory
includes_url()
// https://www.example.com/wp-includes
Content directory
content_url()
// https://www.example.com/wp-content
