The get_parent_theme_file_path() WordPress PHP function retrieves the path of a file in the parent theme.
Usage
$path = get_parent_theme_file_path('inc/example-file.php');
Parameters
$file(string, optional) – File to return the path for in the template directory. Default:''
More information
See WordPress Developer Resources: get_parent_theme_file_path
Examples
Load a custom PHP file from the parent theme
Load custom-functions.php file located in the parent theme’s inc folder:
require get_parent_theme_file_path('/inc/custom-functions.php');
Check if a file exists in the parent theme
Check if my-custom-file.php exists in the parent theme’s root folder:
if (file_exists(get_parent_theme_file_path('my-custom-file.php'))) {
// File exists, do something
}
Load a CSS file from the parent theme
Enqueue a custom-styles.css file located in the parent theme’s assets/css folder:
function enqueue_parent_styles() {
wp_enqueue_style('custom-styles', get_parent_theme_file_uri('/assets/css/custom-styles.css'));
}
add_action('wp_enqueue_scripts', 'enqueue_parent_styles');
Create a function that returns the parent theme’s file path
Create a function get_custom_file_path() to retrieve the parent theme’s file path:
function get_custom_file_path($file) {
return get_parent_theme_file_path($file);
}
// Use the function to get the path of a custom file
$path = get_custom_file_path('/inc/custom-file.php');
Load a JS file from the parent theme
Enqueue a custom-scripts.js file located in the parent theme’s assets/js folder:
function enqueue_parent_scripts() {
wp_enqueue_script('custom-scripts', get_parent_theme_file_uri('/assets/js/custom-scripts.js'), array('jquery'), false, true);
}
add_action('wp_enqueue_scripts', 'enqueue_parent_scripts');