The get_template_directory() WordPress PHP function retrieves the template directory path for the active theme.
Usage
include( get_template_directory() . '/includes/my_file.php' );
Parameters
- None
More information
See WordPress Developer Resources: get_template_directory()
Examples
Loading a Custom CSS File
Load a custom CSS file from your theme’s directory:
function load_custom_css() { wp_enqueue_style('custom-style', get_template_directory_uri() . '/css/custom.css'); } add_action('wp_enqueue_scripts', 'load_custom_css');
Including a Template Part
Include a template part from your theme’s directory:
// Load the header template part get_template_part('template-parts/header', 'main');
Requiring a Functions File
Require a functions file from your theme’s directory:
// Require the theme functions file require_once get_template_directory() . '/inc/theme-functions.php';
Registering a Custom Sidebar
Register a custom sidebar for your theme:
function my_custom_sidebar() { register_sidebar( array( 'name' => 'My Custom Sidebar', 'id' => 'my_custom_sidebar', 'description' => 'A custom sidebar for my theme', 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>', ) ); } add_action('widgets_init', 'my_custom_sidebar');
Creating a Custom Navigation Menu
Create a custom navigation menu for your theme:
function register_my_menu() { register_nav_menu('header-menu', __('Header Menu')); } add_action('init', 'register_my_menu');