W3cubDocs

/WordPress

get_page_templates( WP_Post|null $post = null, string $post_type = ‘page’ ): string[]

Gets the page templates available in this theme.

Parameters

$postWP_Post|nulloptional
The post being edited, provided for context.

Default:null

$post_typestringoptional
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

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.

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/get_page_templates