The is_child_theme() WordPress PHP function checks if a child theme is currently in use.
Usage
$is_child = is_child_theme();
Input: None
Output: Returns true
if a child theme is in use, false
otherwise.
Parameters
- None
More information
See WordPress Developer Resources: is_child_theme()
Important Note: This function uses the TEMPLATEPATH and STYLESHEETPATH constants internally. If calling from a plugin, such as during plugin activation, there’s a chance these will be undefined. It is better to use: get_template_directory() !== get_stylesheet_directory()
Examples
Display a message if a child theme is in use
This code displays a message on the website if a child theme is currently active.
if (is_child_theme()) { echo 'This website is using a child theme.'; }
Enqueue child theme styles
This code enqueues the child theme’s style.css file if a child theme is in use.
function my_enqueue_styles() { if (is_child_theme()) { wp_enqueue_style('child-theme-style', get_stylesheet_uri()); } } add_action('wp_enqueue_scripts', 'my_enqueue_styles');
Add custom functionality for child themes
This code adds custom functionality only when a child theme is active.
if (is_child_theme()) { function my_child_theme_function() { // Custom functionality for child themes } add_action('init', 'my_child_theme_function'); }
Add a custom class to the body if a child theme is in use
This code adds a custom CSS class to the body element if a child theme is active.
function my_child_theme_body_class($classes) { if (is_child_theme()) { $classes[] = 'using-child-theme'; } return $classes; } add_filter('body_class', 'my_child_theme_body_class');
Modify a template part for child themes
This code modifies a template part for child themes, replacing the parent theme’s template-parts/content
with template-parts/content-child
.
function my_child_theme_template_part() { $template_part = 'template-parts/content'; if (is_child_theme()) { $template_part = 'template-parts/content-child'; } get_template_part($template_part); }