Prevent multiple hierarchical posts with the same slug from being displayed in single post template.

fixes #28611.

git-svn-id: https://develop.svn.wordpress.org/trunk@28803 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov
2014-06-23 13:14:39 +00:00
parent 1c7bfc7ed1
commit f7d7ecd0a6
2 changed files with 18 additions and 3 deletions

View File

@@ -2372,11 +2372,11 @@ class WP_Query {
if ( !$ptype_obj || !$ptype_obj->query_var || empty($q[ $ptype_obj->query_var ]) )
continue;
if ( ! $ptype_obj->hierarchical || strpos($q[ $ptype_obj->query_var ], '/') === false ) {
// Non-hierarchical post_types & parent-level-hierarchical post_types can directly use 'name'
if ( ! $ptype_obj->hierarchical ) {
// Non-hierarchical post types can directly use 'name'.
$q['name'] = $q[ $ptype_obj->query_var ];
} else {
// Hierarchical post_types will operate through the
// Hierarchical post types will operate through 'pagename'.
$q['pagename'] = $q[ $ptype_obj->query_var ];
$q['name'] = '';
}