Loading custom templates in WordPress using load_template

The load_template function in WordPress is used to load a specific template file for a given page or post. This can be useful for customizing the appearance and layout of different parts of a WordPress website, such as individual posts, pages, or custom post types.

By using the load_template function, developers can create custom templates for different sections of their website and have them loaded dynamically based on certain conditions. This allows for greater flexibility and control over the design and functionality of a WordPress site.

The load_template function is an effective feature for customizing the display of content on a WordPress website and can greatly enhance the user experience.

Parameters Accepted by WordPress load_template Function

The load_template function in WordPress accepts the following parameters:

  • $_template_file (string, required): Path to the template file.
  • $load_once (bool, optional, default value: true): Whether to require_once or require.
  • $args (array, optional, default value: array()): Additional arguments passed to the template.

The function does not return a value.


How to load a template file in WordPress


load_template( 'template-parts/content.php' );

This code snippet loads the content.php file from the template-parts directory in a WordPress theme.

How to conditionally load a template file in WordPress


if ( is_single() ) {
 load_template( 'single.php' );
} else {
 load_template( 'archive.php' );

This code snippet checks if the current page is a single post and loads single.php, otherwise it loads archive.php.

How to pass variables to a template file in WordPress


$post_id = 123;
load_template( 'content.php', true, array( 'post_id' => $post_id ) );

This code snippet loads the content.php file and passes the post_id variable with a value of 123 to the template file.


In conclusion, the load_template function is an essential tool for dynamically loading template files in web development. By understanding its parameters and usage, developers can efficiently manage and organize their template files, leading to more maintainable and scalable codebases. Additionally, the ability to override template files based on conditions provides greater flexibility and customization options for different scenarios. Overall, the load_template function is a valuable asset for developers looking to streamline their template loading process and enhance the user experience of their web applications.

Related WordPress Functions