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 filename 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 filename or array of template filenames and then the check will be specific to that template. For more information on this and similar theme functions, check out the 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 );
}