get_template_part() WordPress Function
The get_template_part() function is used to retrieve a template part from a template. It is useful for retrieving template parts that are used in multiple places on a website.
get_template_part( string $slug, string $name = null, array $args = array() ) #
Loads a template part into a template.
Description
Provides a simple mechanism for child themes to overload reusable sections of code in the theme.
Includes the named template part for a theme or if a name is specified then a specialised part will be included. If the theme contains no {slug}.php file then no template will be included.
The template is included using require, not require_once, so you may include the same template part multiple times.
For the $name parameter, if the file is called "{slug}-special.php" then specify "special".
Parameters
- $slug
(string)(Required)The slug name for the generic template.
- $name
(string)(Optional)The name of the specialised template.
Default value: null
- $args
(array)(Optional) Additional arguments passed to the template.
Default value: array()
Return
(void|false) Void on success, false if the template does not exist.
More Information
Usage
get_template_part( $slug );
get_template_part( $slug, $name );
Note: get_template_part()
fails silently
Source
File: wp-includes/general-template.php
function get_template_part( $slug, $name = null, $args = array() ) { /** * Fires before the specified template part file is loaded. * * The dynamic portion of the hook name, `$slug`, refers to the slug name * for the generic template part. * * @since 3.0.0 * @since 5.5.0 The `$args` parameter was added. * * @param string $slug The slug name for the generic template. * @param string|null $name The name of the specialized template. * @param array $args Additional arguments passed to the template. */ do_action( "get_template_part_{$slug}", $slug, $name, $args ); $templates = array(); $name = (string) $name; if ( '' !== $name ) { $templates[] = "{$slug}-{$name}.php"; } $templates[] = "{$slug}.php"; /** * Fires before an attempt is made to locate and load a template part. * * @since 5.2.0 * @since 5.5.0 The `$args` parameter was added. * * @param string $slug The slug name for the generic template. * @param string $name The name of the specialized template. * @param string[] $templates Array of template files to search for, in order. * @param array $args Additional arguments passed to the template. */ do_action( 'get_template_part', $slug, $name, $templates, $args ); if ( ! locate_template( $templates, true, false, $args ) ) { return false; } }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
5.5.0 | The $args parameter was added. |
3.0.0 | Introduced. |