From f4a95f061dce8c5c312f48d53bcf3612be79eb90 Mon Sep 17 00:00:00 2001 From: Andrew Nacin Date: Thu, 3 Jan 2013 06:17:47 +0000 Subject: [PATCH] Ensure that get_archive_template() only loads a post type archive (archive-$post_type.php file) if there is exactly one post type in the query. props scribu. see #22956. for trunk. git-svn-id: https://develop.svn.wordpress.org/trunk@23249 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-includes/template.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/wp-includes/template.php b/wp-includes/template.php index d86a677fb6..99d004687b 100644 --- a/wp-includes/template.php +++ b/wp-includes/template.php @@ -59,12 +59,14 @@ function get_404_template() { * @return string */ function get_archive_template() { - $post_types = get_query_var( 'post_type' ); + $post_types = array_filter( (array) get_query_var( 'post_type' ) ); $templates = array(); - foreach ( (array) $post_types as $post_type ) + if ( count( $post_types ) == 1 ) { + $post_type = reset( $post_types ); $templates[] = "archive-{$post_type}.php"; + } $templates[] = 'archive.php'; return get_query_template( 'archive', $templates );