get_page_templates( WP_Post|null $post = null, string $post_type = 'page' ): string[]
Gets the page templates available in this theme.
Contents
Parameters
-
$post
WP_Post|null Optional -
The post being edited, provided for context.
Default:
null
-
$post_type
string Optional -
Post type to get the templates for. Default
'page'
.Default:
'page'
Return
string[] Array of template file names keyed by the template header name.
More Information
The function searches all the current theme’s template files for the commented “Template Name: name of template”. See also wp_get_theme() and the wp_get_theme() ->get_page_templates() method of the WP_Theme class.
Source
File: wp-admin/includes/theme.php
.
View all references
function get_page_templates( $post = null, $post_type = 'page' ) {
return array_flip( wp_get_theme()->get_page_templates( $post, $post_type ) );
}
Changelog
Version | Description |
---|---|
4.7.0 | Added the $post_type parameter. |
1.5.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.
Output a list of available templates
The following code snippet loops through the available page templates and outputs their template names and the filenames.
Returns: