A WordPress-centric search engine for devs and theme authors



is_page_template ›

Since2.5.0
Deprecatedn/a
is_page_template ( $template = '' )
Parameters:
  • (string|array) $template The specific template name or array of templates to match.
    Required: No
    Default: (empty)
Returns:
  • (bool) True on success, false on failure.
Defined at:
Codex:
Change Log:
  • 4.2.0
  • 4.7.0

Determines whether currently in a page template.

This template tag allows you to determine if you are in a page template. You can optionally provide a template name or array of template names and then the check will be specific to that template.

For more information on this and similar theme functions, check out the {@link https://developer.wordpress.org/themes/basics/conditional-tags/ Conditional Tags} article in the Theme Developer Handbook.



Source

function is_page_template( $template = '' ) {
	if ( ! is_singular() ) {
		return false;
	}

	$page_template = get_page_template_slug( get_queried_object_id() );

	if ( empty( $template ) ) {
		return (bool) $page_template;
	}

	if ( $template == $page_template ) {
		return true;
	}

	if ( is_array( $template ) ) {
		if ( ( in_array( 'default', $template, true ) && ! $page_template )
			|| in_array( $page_template, $template, true )
		) {
			return true;
		}
	}

	return ( 'default' === $template && ! $page_template );
}