Ticket #10935: 10935.4.diff
| File 10935.4.diff, 2.2 KB (added by , 13 years ago) |
|---|
-
wp-includes/canonical.php
101 101 } 102 102 } 103 103 104 if ( get_query_var( 'day' ) && get_query_var( 'monthnum' ) && get_query_var( 'year' ) ) { 105 $year = get_query_var( 'year' ); 106 $month = get_query_var( 'monthnum' ); 107 $day = get_query_var( 'day' ); 108 $date = sprintf( '%04d-%02d-%02d', $year, $month, $day ); 109 if ( ! wp_checkdate( $month, $day, $year, $date ) ) { 110 $redirect_url = get_month_link( $year, $month ); 111 $redirect['query'] = _remove_qs_args_if_not_in_url( $redirect['query'], array( 'year', 'monthnum', 'day' ), $redirect_url ); 112 } 113 } elseif ( get_query_var( 'monthnum' ) && get_query_var( 'year' ) && 12 < get_query_var( 'monthnum' ) ) { 114 $redirect_url = get_year_link( get_query_var( 'year' ) ); 115 $redirect['query'] = _remove_qs_args_if_not_in_url( $redirect['query'], array( 'year', 'monthnum' ), $redirect_url ); 116 } 117 104 118 if ( ! $redirect_url ) { 105 119 if ( $redirect_url = redirect_guess_404_permalink() ) { 106 120 $redirect['query'] = _remove_qs_args_if_not_in_url( $redirect['query'], array( 'page', 'feed', 'p', 'page_id', 'attachment_id', 'pagename', 'name', 'post_type' ), $redirect_url ); -
wp-includes/query.php
1501 1501 1502 1502 if ( $qv['day'] ) { 1503 1503 if ( ! $this->is_date ) { 1504 $this->is_day = true; 1505 $this->is_date = true; 1504 $date = sprintf( '%04d-%02d-%02d', $qv['year'], $qv['monthnum'], $qv['day'] ); 1505 if ( $qv['monthnum'] && $qv['year'] && ! wp_checkdate( $qv['monthnum'], $qv['day'], $qv['year'], $date ) ) { 1506 $qv['error'] = '404'; 1507 } else { 1508 $this->is_day = true; 1509 $this->is_date = true; 1510 } 1506 1511 } 1507 1512 } 1508 1513 1509 1514 if ( $qv['monthnum'] ) { 1510 1515 if ( ! $this->is_date ) { 1511 $this->is_month = true; 1512 $this->is_date = true; 1516 if ( 12 < $qv['monthnum'] ) { 1517 $qv['error'] = '404'; 1518 } else { 1519 $this->is_month = true; 1520 $this->is_date = true; 1521 } 1513 1522 } 1514 1523 } 1515 1524