Ready to get started?Download WordPress


Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Function Reference/get template part


Load a template part into a template (other than header, sidebar, footer). Makes it easy for a theme to reuse sections of code and an easy way for child themes to replace sections of their parent theme.

Includes the named template part for a theme or if a name is specified then a specialized part will be included. If the theme contains no {slug}.php file then no template will be included.

For the parameter, the template file is to be called "{slug}-{name}.php".


 <?php get_template_part$slug ); ?>   <?php get_template_part$slug$name ); ?> 

get_template_part doesn't return a value and doesn't warn if it fails to find a matching template file.

If you want to hear about failures, use:

   <?php assert( "locate_template( array('$name-$slug.php', '$name.php'), true, false )" ); ?>


(string) (required) The slug name for the generic template.
Default: None
(string) (optional) The name of the specialized template.
Default: None


Using loop.php in child themes

Assuming the theme folder is wp-content/themes, that the parent theme is twentyten, and the child theme is twentytenchild, then the following code --

<?php get_template_part( 'loop', 'index' ); ?>

will do a PHP require() for the first file that exists among these, in this priority:

  1. wp-content/themes/twentytenchild/loop-index.php
  2. wp-content/themes/twentyten/loop-index.php
  3. wp-content/themes/twentytenchild/loop.php
  4. wp-content/themes/twentyten/loop.php

Using with theme subfolders

To use this function with subfolders in your theme directory, simply prepend the folder name before the slug. For example, if you have a folder called "partials" in your theme directory and a template part called "content-page.php" in that sub-folder, you would use get_template_part() like this:

<?php get_template_part( 'partials/content', 'page' ); ?>


Adding a navigation bar to theme using a generic nav.php template file:

<?php get_template_part( 'nav' );           // Navigation bar (nav.php) ?>
<?php get_template_part( 'nav', '2' );      // Navigation bar #2 (nav-2.php) ?>
<?php get_template_part( 'nav', 'single' ); // Navigation bar to use in single pages (nav-single.php) ?>


Change Log

Source File

get_template_part() is located in wp-includes/general-template.php.

External Resources


Include Tags

See also index of Function Reference and index of Template Tags.