82 // These tests give us a WP-generated permalink |
82 // These tests give us a WP-generated permalink |
83 if ( is_404() ) { |
83 if ( is_404() ) { |
84 $redirect_url = redirect_guess_404_permalink(); |
84 $redirect_url = redirect_guess_404_permalink(); |
85 } elseif ( is_object($wp_rewrite) && $wp_rewrite->using_permalinks() ) { |
85 } elseif ( is_object($wp_rewrite) && $wp_rewrite->using_permalinks() ) { |
86 // rewriting of old ?p=X, ?m=2004, ?m=200401, ?m=20040101 |
86 // rewriting of old ?p=X, ?m=2004, ?m=200401, ?m=20040101 |
87 if ( is_single() && !empty($_GET['p']) && ! $redirect_url ) { |
87 if ( is_attachment() && !empty($_GET['attachment_id']) && ! $redirect_url ) { |
|
88 if ( $redirect_url = get_attachment_link(get_query_var('attachment_id')) ) |
|
89 $redirect['query'] = remove_query_arg('attachment_id', $redirect['query']); |
|
90 } elseif ( is_single() && !empty($_GET['p']) && ! $redirect_url ) { |
88 if ( $redirect_url = get_permalink(get_query_var('p')) ) |
91 if ( $redirect_url = get_permalink(get_query_var('p')) ) |
89 $redirect['query'] = remove_query_arg('p', $redirect['query']); |
92 $redirect['query'] = remove_query_arg('p', $redirect['query']); |
90 if ( get_query_var( 'page' ) ) { |
93 if ( get_query_var( 'page' ) ) { |
91 $redirect_url = trailingslashit( $redirect_url ) . user_trailingslashit( get_query_var( 'page' ), 'single_paged' ); |
94 $redirect_url = trailingslashit( $redirect_url ) . user_trailingslashit( get_query_var( 'page' ), 'single_paged' ); |
92 $redirect['query'] = remove_query_arg( 'page', $redirect['query'] ); |
95 $redirect['query'] = remove_query_arg( 'page', $redirect['query'] ); |
93 } |
96 } |
|
97 } elseif ( is_single() && !empty($_GET['name']) && ! $redirect_url ) { |
|
98 if ( $redirect_url = get_permalink( $wp_query->get_queried_object_id() ) ) |
|
99 $redirect['query'] = remove_query_arg('name', $redirect['query']); |
94 } elseif ( is_page() && !empty($_GET['page_id']) && ! $redirect_url ) { |
100 } elseif ( is_page() && !empty($_GET['page_id']) && ! $redirect_url ) { |
95 if ( $redirect_url = get_permalink(get_query_var('page_id')) ) |
101 if ( $redirect_url = get_permalink(get_query_var('page_id')) ) |
96 $redirect['query'] = remove_query_arg('page_id', $redirect['query']); |
102 $redirect['query'] = remove_query_arg('page_id', $redirect['query']); |
97 } elseif ( !empty($_GET['m']) && ( is_year() || is_month() || is_day() ) ) { |
103 } elseif ( !empty($_GET['m']) && ( is_year() || is_month() || is_day() ) ) { |
98 $m = get_query_var('m'); |
104 $m = get_query_var('m'); |
120 if ( $redirect_url = get_year_link(get_query_var('year')) ) |
126 if ( $redirect_url = get_year_link(get_query_var('year')) ) |
121 $redirect['query'] = remove_query_arg('year', $redirect['query']); |
127 $redirect['query'] = remove_query_arg('year', $redirect['query']); |
122 } elseif ( is_category() && !empty($_GET['cat']) && preg_match( '|^[0-9]+$|', $_GET['cat'] ) ) { |
128 } elseif ( is_category() && !empty($_GET['cat']) && preg_match( '|^[0-9]+$|', $_GET['cat'] ) ) { |
123 if ( $redirect_url = get_category_link(get_query_var('cat')) ) |
129 if ( $redirect_url = get_category_link(get_query_var('cat')) ) |
124 $redirect['query'] = remove_query_arg('cat', $redirect['query']); |
130 $redirect['query'] = remove_query_arg('cat', $redirect['query']); |
125 } elseif ( is_author() && !empty($_GET['author']) ) { |
131 } elseif ( is_author() && !empty($_GET['author']) && preg_match( '|^[0-9]+$|', $_GET['author'] ) ) { |
126 $author = get_userdata(get_query_var('author')); |
132 $author = get_userdata(get_query_var('author')); |
127 if ( false !== $author && $redirect_url = get_author_posts_url($author->ID, $author->user_nicename) ) |
133 if ( false !== $author && $redirect_url = get_author_posts_url($author->ID, $author->user_nicename) ) |
128 $redirect['query'] = remove_query_arg('author', $redirect['author']); |
134 $redirect['query'] = remove_query_arg('author', $redirect['author']); |
129 } |
135 } |
130 |
136 |