Ticket #6516: 6516.diff
| File 6516.diff, 2.9 KB (added by DD32, 3 years ago) |
|---|
-
wp-includes/canonical.php
91 91 $redirect_url = trailingslashit( $redirect_url ) . user_trailingslashit( get_query_var( 'page' ), 'single_paged' ); 92 92 $redirect['query'] = remove_query_arg( 'page', $redirect['query'] ); 93 93 } 94 } elseif ( is_single() && !empty($_GET['name']) ) { 95 $_post = get_posts( array( 'name' => get_query_var('name') ) ); 96 if ( $_post && $redirect_url = get_permalink( $_post[0]->ID ) ) 97 $redirect['query'] = remove_query_arg('name', $redirect['query']); 94 98 } elseif ( is_page() && !empty($_GET['page_id']) && ! $redirect_url ) { 95 99 if ( $redirect_url = get_permalink(get_query_var('page_id')) ) 96 100 $redirect['query'] = remove_query_arg('page_id', $redirect['query']); 101 } elseif ( is_page() && !empty($_GET['pagename']) ) { 102 $_post = get_posts( array( 'pagename' => get_query_var('pagename') ) ); 103 if ( $_post && $redirect_url = get_permalink( $_post[0]->ID ) ) 104 $redirect['query'] = remove_query_arg('pagename', $redirect['query']); 97 105 } elseif ( !empty($_GET['m']) && ( is_year() || is_month() || is_day() ) ) { 98 106 $m = get_query_var('m'); 99 107 switch ( strlen($m) ) { -
wp-includes/query.php
1669 1671 if ( $q['day'] ) 1670 1672 $where .= " AND DAYOFMONTH($wpdb->posts.post_date)='" . $q['day'] . "'"; 1671 1673 1672 if ('' != $q['name']) { 1673 $q['name'] = sanitize_title($q['name']); 1674 $where .= " AND $wpdb->posts.post_name = '" . $q['name'] . "'"; 1675 } else if ('' != $q['pagename']) { 1674 if ('' != $q['pagename']) { 1676 1675 if ( isset($this->queried_object_id) ) 1677 1676 $reqpage = $this->queried_object_id; 1678 1677 else { … … 1689 1688 $page_paths = '/' . trim($q['pagename'], '/'); 1690 1689 $q['pagename'] = sanitize_title(basename($page_paths)); 1691 1690 $q['name'] = $q['pagename']; 1692 $where .= " AND ($wpdb->posts.ID = '$reqpage')"; 1691 if ( !empty($reqpage) ) 1692 $where .= " AND $wpdb->posts.ID = '$reqpage'"; 1693 1693 $reqpage_obj = get_page($reqpage); 1694 1694 if ( is_object($reqpage_obj) && 'attachment' == $reqpage_obj->post_type ) { 1695 1695 $this->is_attachment = true; … … 1702 1702 $attach_paths = '/' . trim($q['attachment'], '/'); 1703 1703 $q['attachment'] = sanitize_title(basename($attach_paths)); 1704 1704 $q['name'] = $q['attachment']; 1705 $where .= " AND $wpdb->posts.post_name = '" . $q['attachment'] . "'";1706 1705 } 1707 1706 1707 if ('' != $q['name']) { 1708 $q['name'] = sanitize_title($q['name']); 1709 $where .= " AND $wpdb->posts.post_name = '" . $q['name'] . "'"; 1710 } 1711 1708 1712 if ( $q['w'] ) 1709 1713 $where .= " AND WEEK($wpdb->posts.post_date, 1)='" . $q['w'] . "'"; 1710 1714
